cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: [Woody] cancel button
Date Thu, 06 Nov 2003 18:24:07 GMT
Jeremy Quinn wrote:

>
> On Thursday, November 6, 2003, at 01:34 PM, Reinhard Poetz wrote:
>
>>
>> From: Jeremy Quinn
>>
>>> Hi All,
>>>
>>> I am trying to add a 'Cancel' button to a form, so if the user clicks
>>> it they exit the current form processing by being redirected
>>> to another
>>> URL, it is not working as expected.
>>>
>
> <snip/>
>
>> I guess it is a problem that currently happens following:
>> If you hit the cancel button, the JS cancel function is executed - also
>> the sendPage function is called. But then some CPU cycles later the
>> woody function is called and it calls sendPageAndWait with the current
>> form as content. ... and as you may expect the latter wins ...
>>
>> I think we have to make sure that always sendPage* the first call is
>> preferred.
>
>
> OK, I think I have solved it .....
>
> My form flowscript:
>
>     . . .
>     form.showForm (formURI);
>     if ("cancel".equals (form.getWidget().getSubmitWidget().getId ())) {
>         cocoon.sendPage("screen/cancel", {message: "You cancelled"});
>         return;
>     }
>     . . .
>
> The cancel function:
>
> function cancel (form) {
>     form.endProcessing (false);
>     cocoon.log.info ("The user Cancelled");
> }
>
> The form Model:
>
> <wd:action id="cancel" action-command="cancel">
>     <wd:label>Cancel</wd:label>
>     <wd:hint>cancels the current action</wd:hint>
>     <wd:on-action>
>         <javascript>
>             cancel(event.getSourceWidget().getForm());
>         </javascript>
>     </wd:on-action>
> </wd:action>
>
> Phew!! :)
>
Or more simply:

<wd:submit id="cancel" validate="false"> (a submit doesn't redisplay the 
form, while an action always redisplays it)

and in the flowscript :

form.showForm("form.html");
if (form.submitId == cancel) {
  cocoon.sendPage("cancel.html");
}

;-)

Sylvain


-- 
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
Orixo, the opensource XML business alliance  -  http://www.orixo.com



Mime
View raw message