The rewind process isn't completely skipped; the Form just doesn't render its body, so its ok that pageBeginRender() is invoked.
I think to handle a javascript on or off, you'll want the following: <component id="form" type="Form"> <binding name="success" value="listener:doSubmit"'/> <binding name="cancel" value="listener:doCancel"/> </component> <component id="cancel" type="Submit"> <binding name="action" value="listener:doCancel"/> <binding name="onclick"> literal: javascript:this.form.events.cancel(); </binding> </component> Now ... if JavaScript is enabled, the event.cancel() JavaScript will force a cancel submission and only doCancel() will be invoked. If JavaScript is disabled, it will be a normal submission, with a full rewind; doCancel() will be invoked *BEFORE* doSubmit(). This is because the the Form can't tell that this is a cancel submission without client-side JavaScript enabled. You'll see some properties updated via other form element components; the success listener may not be invoked if the delegate records any errors, but this should cover all the cases otherwise. On 10/19/05, Pedro Abelleira Seco <[EMAIL PROTECTED]> wrote: > I think you don't even need to expect javascript on the client. If you > don't have it you don't need to cancel the validation, as it's not going > to happen, anyway. > > It's important for me, as my application _must_ work with javascript > either enabled or disabled. > > Good tip, thanks. > > > El Mér, 19-10-2005 a las 08:17 -0400, Howard Lewis Ship escribió: > > If you can expect JavaScript on the client, the best way is: > > > > <input type="submit" value="Cancel" > > onclick="javascript:this.form.events.cancel();"/> > > > > This will submit the form, bypass client-side handlers of all kinds, > > bypass rewind on the server, and invoke the Form's cancel listener. > > > > On 10/19/05, Vjeran Marcinko <[EMAIL PROTECTED]> wrote: > > > Hi. > > > > > > Canceling form has been problematic prior to 4.0, but now, Form has > > > "cancel" > > > listener that would avoid rewind process, and it says in description that > > > it > > > should be invoked by javascript event. > > > > > > Does it mean that proper way to achieve "Cancel" button (beside "Submit") > > > is > > > to use Button component that would have "onclick" handler doing form > > > cancellation ? > > > > > > Regards, > > > Vjeran > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > -- > > Howard M. Lewis Ship > > Independent J2EE / Open-Source Java Consultant > > Creator, Jakarta Tapestry > > Creator, Jakarta HiveMind > > > > Professional Tapestry training, mentoring, support > > and project work. http://howardlewisship.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Independent J2EE / Open-Source Java Consultant Creator, Jakarta Tapestry Creator, Jakarta HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
