- From: T. V. Raman <tvraman@us.ibm.com>
- Date: Mon, 29 Mar 2004 16:09:03 -0800
- To: bobbateman@sequoiallc.com
- Cc: www-forms@w3.org
Have you perhaps considered using relevant=true/false on the
model to make this trigger automatically? i.e. the bits that ask
you for credit card details become relevant = true only when the
user picks visa or master --
>>>>> "Robert" == Robert Bateman <bobbateman@sequoiallc.com> writes:
Robert> I've set up a form that uses several <select1>
Robert> entries within the form to ask the user for
Robert> information. One area I'm having a "problem"
Robert> wrapping my brain around is the concept of "data
Robert> validation" on the client. Let me give an example:
Robert>
Robert> I'm working on an order entry system. In the schema
Robert> is the standard credit card stuff so the user can pay
Robert> COD. Because the COD is "optional", I've set my
Robert> schema to have minOccurs="0" maxOccurs="1". All is
Robert> well here so far.
Robert>
Robert> I've set up "duplicate" fields for each field
Robert> involved in the COD in a temp <instance> along with a
Robert> <boolean> PayCODNow. My form triggers relevant for
Robert> the COD fields on a true() in PayCODNow. Each field
Robert> displays as expected when PayCODNow is true.
Robert>
Robert> One field I input is a credit card type. It's a
Robert> <select1> with values of "Choose One...", "Visa" and
Robert> "Master Card". For my purposes, I want to have
Robert> "Choose One..." trigger the .invalid CSS so the card
Robert> type stays red as my CSS tells it to be when invalid.
Robert> The problem I'm having is that selecting "Choose
Robert> One..." causes a value to be set in my bound instance
Robert> field (empty in this case.) This is obviously
Robert> invalid.
Robert>
Robert> What I'd like to do is set an action on
Robert> xforms-value-changed on the <select1> for the form
Robert> type and invalidate the card type if the user hasn't
Robert> choosen a value *other* than "Choose one..." But I
Robert> haven't yet figured out how to fire an event that
Robert> invalidates the card type field. I had thought I
Robert> might use a calculate="xforms:if()" but I don't see
Robert> firing an event from inside there.
Robert>
Robert>
Robert> Since all of you are so knowlegable, can anyone point
Robert> me to how I can accomplish what I want to do? I'd
Robert> like to do this *without* resorting to script *if*
Robert> possible.
Robert>
Robert> Thanks much!
Robert>
Robert> Bob
--
Best Regards,
--raman
------------------------------------------------------------
T. V. Raman: PhD (Cornell University)
IBM Research: Human Language Technologies
Architect: Conversational And Multimodal WWW Standards
Phone: 1 (408) 927 2608 T-Line 457-2608
Fax: 1 (408) 927 3012 Cell: 1 650 799 5724
Email: tvraman@us.ibm.com
WWW: http://almaden.ibm.com/u/tvraman
AIM: TVRaman
GPG: http://www.almaden.ibm.com/cs/people/tvraman/raman-almaden.asc
Snail: IBM Almaden Research Center,
650 Harry Road
San Jose 95120
Received on Monday, 29 March 2004 20:14:03 UTC