Using Submit component as a cancel button causes listener to be called twice in 
Internet Explorer 6
---------------------------------------------------------------------------------------------------

         Key: TAPESTRY-840
         URL: http://issues.apache.org/jira/browse/TAPESTRY-840
     Project: Tapestry
        Type: Sub-task
  Components: Framework  
    Versions: 4.0    
 Environment: Tapestry 4.0 final
Internet Explorer 6
    Reporter: Ben Dotte


The recommended way to build a cancel button on a form is to use the Submit 
component with javascript like onclick="javascript:this.form.events.cancel();". 
In Internet Explorer 6, this causes the cancel listener to get called twice and 
occasionally the two calls crash into each other and cause an exception. This 
problem does not exist with Firefox 1.5. Here is a simple example that 
demonstrates the behavior:

<form jwcid="@Form" cancel="listener:cancel">
  <submit jwcid="@Submit" value="Cancel" 
onclick="javascript:this.form.events.cancel();"/>
</form>

public void cancel(IRequestCycle cycle)
{
  System.out.println("cancel called");
}

Output after clicking the cancel button in IE 6:
cancel called
cancel called
(and sometimes an exception and stack trace)

The workaround is to use the Button component instead with the same javascript 
call. "cancel called" is only printed once in that case for Firefox and 
Internet Explorer and there are no exceptions.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to