使用JavaScript / jQuery提交表单后调用函数

我希望在提交表单后调用一个函数,我看到我们可以在jQuery中使用.submit(handler function())来执行此操作,但是方法描述说,处理程序方法将在表单提交之前执行。 我怎么能真正达到这个目的? 我应该在提交表单后使用setTimeout还是有其他解决方案?

 $("#myFormId").on('submit', function(e) { e.preventDefault(); $.ajax({ type: $(this).prop('method'), url : $(this).prop('action'), data: $(this).serialize() }).done(function() { doYourStuff(); }); }); 

您可以使用插件http://www.malsup.com/jquery/form/#ajaxSubmit并在回调方法成功时执行您需要的任何操作

 $(document).ready(function() { var options = { target: '#output2', // target element(s) to be updated with server response success: function() { // callback code here } }; // bind to the form's submit event $('#myForm2').submit(function() { $(this).ajaxSubmit(options); return false; }); }); 

流:

  1. window.sessionStorage [‘submit’]最初是一个空字符串。
  2. 一旦在文本框中键入内容,然后单击提交按钮,文本框中的值将保存到window.sessionStorage [‘submit’]。 这意味着window.sessionStorage [‘submit’]不再是空的。 它包含一个价值。
  3. 提交表单后页面会刷新。
  4. onload函数将检查window.sessionStorage [‘submit’]中是否有任何内容。 如果它不是空的,则意味着表单是由用户提交的。 然后它将window.sessionStorage [‘submit’]重置为空字符串。

它使用所有主流浏览器都支持的会话存储。