[
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]