[ 
https://issues.apache.org/jira/browse/TAPESTRY-1775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francesco Degrassi updated TAPESTRY-1775:
-----------------------------------------

    Attachment: form.js.diff

I had the same issue in the following scenario:
 * form not updated asynchronously
 * asynchronous direct link in the form that submits it and calls listener X
 * synchronous search button in the form that calls listener Y

The problem was the following:
 * clicked on the async direct link ->  listener X called
 * clicked on the sync button -> both listeners X and Y called

Using FireBug shows that the form submitName field was left set to "direct link 
name" after async submit and following sync submit sent again the "stale" 
submitName value.

I attached a patch that clears the subminName hidden field when appropriate 
after a form submit

> Multiple submit buttons inside async form can invoke incorrect listener
> -----------------------------------------------------------------------
>
>                 Key: TAPESTRY-1775
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1775
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework, JavaScript
>    Affects Versions: 4.1.3
>            Reporter: Andreas Andreou
>            Assignee: Andreas Andreou
>             Fix For: 4.1.4
>
>         Attachments: form.js.diff
>
>
> ... this can happen when the updateComponents of the buttons doesnt cover the 
> form.
> So, in such a case, when button1 is clicked it sets itself as 
> tapestry.forms.form['Form'].clickedButton
> and correctly does the async form submit.
> However, the xhr response does NOT include any calls to 
> tapestry.form.registerForm since (as stated) 
> updateComponents may not really include the whole form. So, what this means 
> is that the old value for
> tapestry.forms.form['Form'].clickedButton remains - triggering the associated 
> listener no matter how the 
> new form is submitted.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to