Submit-on-enter example

For many years now, we've had an example of using DOMActivate to submit
on "enter key" in a device-independent way.
Although it's done in a device independent way, for convenience I'll
just refer to the enter key throughout this message.

This example is even written up in Micah Dubinko's book:
http://xformsinstitute.com/essentials/browse/ch10s03.php#ch10-15-fm2xml

I typed up a version of this example, which just submits via GET back to
itself so you can inspect the resulting URI:
http://xformstest.org/klotz/2007/02/return.xhtml

If you type something in the box and either press enter or submit via
the trigger, it's supposed to submit via GET to
http://xformstest.org/klotz/2007/02/return.xhtml?value1=something;value2
=test

Unfortunately, it appears not to work in popular XForms processors.

If you submit via pressing enter, it doesn't submit value1:
http://xformstest.org/klotz/2007/02/return.xhtml?value2=test


Aaron Reed pointed out to me that this is for two reasons:
1. When you press enter, you aren't exiting the form control and the
value doesn't get changed, unless the input is oncremental.
2. Less importantly, the submission spec calls for non-empty values to
be dropped instead of being submitted as empty values.
   (Personally I disagree with this spec language and would have
preferred xsi:nil to apply, but I didn't notice so it's
    probably too late.)

So, here's a version with input/@incremental='true' which does provide
the desired behavior:
http://xformstest.org/klotz/2007/02/return-incremental.xhtml

I don't think there is an event we can dispatch inside the DOMActivate
handler to cause the value to change, but maybe I'm wrong.

Do any XForms processors have a way of interpreting the event sequence
that makes this popular example work as is?

Leigh.


 

Received on Thursday, 15 February 2007 17:44:23 UTC