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;
}