完成特定表单的Ajax时执行函数

时间:2016-02-18 18:14:35

标签: javascript jquery ajax

如何为特定表单使用.ajaxComplete()或(类似功能)?我尝试了以下代码,但它在任何Ajax调用完成时执行。我只希望它在#FormId的Ajax调用完成时执行。似乎应该有一个简单的解决方案,但我找不到它。

$('#FormId').ajaxComplete(function() {
    console.log("Ajax call for #FormId completed");
});

2 个答案:

答案 0 :(得分:1)

尝试在context元素的$.ajax()个事件中为this submit #FormId设置settings.context.id,在.ajaxComplete()检查settings事件;其中ajaxOptions是第三个参数或$.ajax()最初传递给$(document).ajaxComplete(function(event, jqxhr, settings) { // if `settings.context.id` is equal to `FormId`, do stuff if (settings.context.id === "FormId") { alert(settings.context.id) } }) $("#FormId").on("submit", function(e) { e.preventDefault(); $.ajax({ context: this }) })



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<form id="FormId">
  <input type="text" value="abc" readonly />
  <input type="submit" />
</form>

<form id="FormId1">
  <input type="text" value="123" readonly />
  <input type="submit" />
</form>
&#13;
  <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src * 'self' 'unsafe-inline' localhost:* https://bnc.lt https://api.branch.io amazonaws.com amazonaws.com.cn checkout.stripe.com 'unsafe-eval';">
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

使用这种方式,

$('#FormId').onClick(function(){
 $.ajax({
  method: "POST",
  url: "someurl.php",
  data: { name: "Ghanshyam Katriya", location: "India" },
   complete: function(){
alert("ajax complete");   
}
 });
});

你可以在完整的部分调用任何js脚本,只有当ajax调用完成时才会执行。