Author: mgrigorov
Date: Wed Oct  6 18:27:52 2010
New Revision: 1005194

URL: http://svn.apache.org/viewvc?rev=1005194&view=rev
Log:
WICKET-3095 Adding AjaxFormSubmitBehavior to Form leads to "Error: too much 
recursion" JS Error

Set a temporary attribute to the form before calling its onsubmit handler to 
prevent endless loop.


Modified:
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=1005194&r1=1005193&r2=1005194&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
 Wed Oct  6 18:27:52 2010
@@ -1093,10 +1093,13 @@ Wicket.Ajax.Call.prototype = {
        // Submits a form using ajax.
        // This method serializes a form and sends it as POST body.
        submitForm: function(form, submitButton) {
-               if (form.onsubmit) {    
+               var submittingAttribute = 'data-wicket-submitting';
+               if (form.onsubmit && !form.getAttribute(submittingAttribute)) {
+                       form.setAttribute(submittingAttribute, true);
                        if (!form.onsubmit()) return;
+                       form.removeAttribute(submittingAttribute);
                }
-           
+               
            if (this.handleMultipart(form, submitButton)) {
                return true;
            }


Reply via email to