src/pyams_skin/resources/js/myams.js
changeset 148 c227cbe9c6b9
parent 146 ce34989ca39f
child 150 b1e407a9de90
--- a/src/pyams_skin/resources/js/myams.js	Wed Jun 15 12:33:20 2016 +0200
+++ b/src/pyams_skin/resources/js/myams.js	Fri Jun 24 10:56:52 2016 +0200
@@ -2,7 +2,7 @@
  * MyAMS
  * « My Application Management Skin »
  *
- * $Tag$
+ * $Tag$ (rev. 5)
  * A bootstrap based application/administration skin
  *
  * Custom administration and application skin tools
@@ -1571,13 +1571,16 @@
 													if (!callback) {
 														callback = ams.getFunctionByName(data.amsFormSubmitCallback) || ams.form._submitCallback;
 													}
-													callback.call(form, result, status, request, form);
-													if (form.is(':visible') && button) {
-														button.button('reset');
+													try {
+														callback.call(form, result, status, request, form);
+													} finally {
+														if (form.is(':visible') && button) {
+															button.button('reset');
+														}
+														form.data('submitted', false);
+														form.removeData('ams-submit-button');
+														form.removeAttr('data-ams-form-changed');
 													}
-													form.data('submitted', false);
-													form.removeData('ams-submit-button');
-													form.removeAttr('data-ams-form-changed');
 												}
 											}
 										});
@@ -1600,18 +1603,21 @@
 											success: function(result, status, request, form) {
 												var callback;
 												var button = form.data('ams-submit-button');
-												form.data('submitted', false);
-												form.removeData('ams-submit-button');
-												form.removeAttr('data-ams-form-changed');
 												if (button) {
 													callback = button.data('ams-form-submit-callback');
 												}
 												if (!callback) {
 													callback = ams.getFunctionByName(data.amsFormSubmitCallback) || ams.form._submitCallback;
 												}
-												callback.call(form, result, status, request, form);
-												if (form.is(':visible') && button) {
-													button.button('reset');
+												try {
+													callback.call(form, result, status, request, form);
+												} finally {
+													if (form.is(':visible') && button) {
+														button.button('reset');
+													}
+													form.data('submitted', false);
+													form.removeData('ams-submit-button');
+													form.removeAttr('data-ams-form-changed');
 												}
 											},
 											iframe: hasUpload
@@ -3362,7 +3368,7 @@
 																	: ams.getFunctionByName(data.amsFormInvalidHandler)
 																: undefined
 											};
-											$('[data-ams-validate-rules]', form).each(function() {
+											$('[data-ams-validate-rules]', form).each(function(index) {
 												if (index === 0) {
 													data_options.rules = {};
 												}