You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2010/10/06 20:36:05 UTC
svn commit: r1005197 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
Author: mgrigorov
Date: Wed Oct 6 18:36:05 2010
New Revision: 1005197
URL: http://svn.apache.org/viewvc?rev=1005197&view=rev
Log:
WICKET-3095 Adding AjaxFormSubmitBehavior to Form leads to "Error: too much recursion" JS Error
merge r1005194, 1005195 and 1005196 from 1.4.x
Set a temporary attribute to the form before calling its onsubmit handler to prevent endless loop.
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=1005197&r1=1005196&r2=1005197&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js Wed Oct 6 18:36:05 2010
@@ -1069,10 +1069,14 @@ 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) {
- if (!form.onsubmit()) return;
+ var submittingAttribute = 'data-wicket-submitting';
+ if (form.onsubmit && !form.getAttribute(submittingAttribute)) {
+ form.setAttribute(submittingAttribute, submittingAttribute);
+ var retValue = form.onsubmit();
+ form.removeAttribute(submittingAttribute);
+ if (!retValue) return;
}
-
+
if (this.handleMultipart(form, submitButton)) {
return true;
}