表单提交后如何进行Jquery回调?

2022-08-30 04:41:39

我有一个简单的表单,remote=true。

此表单实际上位于 HTML 对话框上,单击“提交”按钮后,该对话框就会关闭。

现在,我需要在表单成功提交后在主HTML页面上进行一些更改。

我用jQuery尝试了这个。但这并不能确保在表单提交的某种形式的响应之后执行任务。

$("#myform").submit(function(event) {

// do the task here ..

});

如何附加回调,以便仅在表单成功提交后才执行我的代码?有没有办法向表单添加一些 .success 或 .complete 回调?


答案 1

我刚刚做了这个 -

 $("#myform").bind('ajax:complete', function() {

         // tasks to do 


   });

事情非常完美。

有关更多具体的详细信息,请参阅此 API 文档


答案 2

我无法让排名第一的解决方案可靠地工作,但发现这是有效的。不确定它是否是必需的,但我在标记上没有操作或方法属性,这确保了POST由$.ajax函数处理,并为您提供回调选项。

<form id="form">
...
<button type="submit"></button>
</form>

<script>
$(document).ready(function() {
  $("#form_selector").submit(function() {

    $.ajax({
     type: "POST",
      url: "form_handler.php",
      data: $(this).serialize(),
      success: function() {
        // callback code here
       }
    })

  })
})
</script>