src/ztfy/myams/resources/js/myams.js
changeset 3 8f1aadf54f1b
parent 0 8a19e25e39e4
child 6 5ce5a03f6d1c
equal deleted inserted replaced
2:bfd612f2bd21 3:8f1aadf54f1b
   910 			if (!ams.form._checkSubmitValidators(form))
   910 			if (!ams.form._checkSubmitValidators(form))
   911 				return false;
   911 				return false;
   912 			// Remove remaining status messages
   912 			// Remove remaining status messages
   913 			$('.alert, SPAN.state-error', form).remove();
   913 			$('.alert, SPAN.state-error', form).remove();
   914 			$('.state-error', form).removeClassPrefix('state-');
   914 			$('.state-error', form).removeClassPrefix('state-');
   915 			$(form.data('ams-submit-button')).button('loading');
   915 			// Check submit button
       
   916 			var button = $(form.data('ams-submit-button'));
       
   917 			if (button)
       
   918 				button.button('loading');
   916 			ams.ajax.check($.fn.ajaxSubmit,
   919 			ams.ajax.check($.fn.ajaxSubmit,
   917 						   ams.baseURL + 'ext/jquery-form-3.49' + (ams.devmode ? '.js' : '.min.js'),
   920 						   ams.baseURL + 'ext/jquery-form-3.49' + (ams.devmode ? '.js' : '.min.js'),
   918 						   function() {
   921 						   function() {
   919 
   922 
   920 								function _submitAjaxForm(form, options) {
   923 								function _submitAjaxForm(form, options) {
   935 											form_data = ams.executeFunctionByName(form_data_callback, form);
   938 											form_data = ams.executeFunctionByName(form_data_callback, form);
   936 									} else {
   939 									} else {
   937 										form_data = data.amsFormData || {};
   940 										form_data = data.amsFormData || {};
   938 									}
   941 									}
   939 
   942 
       
   943 									var button = $(form.data('ams-submit-button'));
       
   944 									var buttonHandler,
       
   945 										buttonTarget;
       
   946 									if (button) {
       
   947 										buttonHandler = button.data('ams-form-handler');
       
   948 										buttonTarget = button.data('ams-form-submit-target');
       
   949 									}
       
   950 
   940 									var action = form.attr('action').replace(/#/, '');
   951 									var action = form.attr('action').replace(/#/, '');
   941 									if (action.startsWith(window.location.protocol))
   952 									if (action.startsWith(window.location.protocol))
   942 										var url = action;
   953 										var url = action;
   943 									else
   954 									else
   944 										url = ams.ajax.getAddr() + action;
   955 										url = ams.ajax.getAddr() + action;
   945 									var button = $(form.data('ams-submit-button'));
   956 									url += handler || buttonHandler || data.amsFormHandler || '';
   946 									url += handler || button.data('ams-button-handler') || data.amsFormHandler || '';
       
   947 
   957 
   948 									if (data.amsFormInitSubmitTarget) {
   958 									if (data.amsFormInitSubmitTarget) {
   949 										var target = $(button.data('ams-form-submit-target') || data.amsFormSubmitTarget || '#content');
   959 										var target = $(buttonTarget || data.amsFormSubmitTarget || '#content');
   950 										ams.executeFunctionByName(data.amsFormInitSubmit || 'MyAMS.form.initSubmit', form, target);
   960 										ams.executeFunctionByName(data.amsFormInitSubmit || 'MyAMS.form.initSubmit', form, target);
   951 									} else if (!data.amsFormHideSubmitFooter)
   961 									} else if (!data.amsFormHideSubmitFooter)
   952 										ams.executeFunctionByName(data.amsFormInitSubmit || 'MyAMS.form.initSubmitFooter', form);
   962 										ams.executeFunctionByName(data.amsFormInitSubmit || 'MyAMS.form.initSubmitFooter', form);
   953 
   963 
   954 									var hasUpload = typeof(options.uuid) != 'undefined';
   964 									var hasUpload = typeof(options.uuid) != 'undefined';
   978 												if (button)
   988 												if (button)
   979 													button.button('reset');
   989 													button.button('reset');
   980 												ams.form.finalizeSubmitFooter.call(form);
   990 												ams.form.finalizeSubmitFooter.call(form);
   981 											}
   991 											}
   982 											form.data('submitted', false);
   992 											form.data('submitted', false);
       
   993 											form.removeData('ams-submit-button');
   983 										},
   994 										},
   984 										success: function(result, status, request, form) {
   995 										success: function(result, status, request, form) {
   985 											var callback;
   996 											var callback;
   986 											var button = form.data('ams-submit-button');
   997 											var button = form.data('ams-submit-button');
   987 											if (button)
   998 											if (button)
   990 												callback = ams.getFunctionByName(data.amsFormSubmitCallback) || ams.form._submitCallback;
  1001 												callback = ams.getFunctionByName(data.amsFormSubmitCallback) || ams.form._submitCallback;
   991 											callback.call(form, result, status, request, form);
  1002 											callback.call(form, result, status, request, form);
   992 											if (form.is(':visible') && button)
  1003 											if (form.is(':visible') && button)
   993 												button.button('reset');
  1004 												button.button('reset');
   994 											form.data('submitted', false);
  1005 											form.data('submitted', false);
       
  1006 											form.removeData('ams-submit-button');
   995 										},
  1007 										},
   996 										iframe: hasUpload
  1008 										iframe: hasUpload
   997 									}
  1009 									}
   998 									var settings = $.extend({}, defaults, options, form_options, submit_options);
  1010 									var settings = $.extend({}, defaults, options, form_options, submit_options);
   999 									$(form).ajaxSubmit(settings);
  1011 									$(form).ajaxSubmit(settings);