如何为特定表单使用.ajaxComplete()
或(类似功能)?我尝试了以下代码,但它在任何Ajax调用完成时执行。我只希望它在#FormId
的Ajax调用完成时执行。似乎应该有一个简单的解决方案,但我找不到它。
$('#FormId').ajaxComplete(function() {
console.log("Ajax call for #FormId completed");
});
答案 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;
答案 1 :(得分:-1)
使用这种方式,
$('#FormId').onClick(function(){
$.ajax({
method: "POST",
url: "someurl.php",
data: { name: "Ghanshyam Katriya", location: "India" },
complete: function(){
alert("ajax complete");
}
});
});
你可以在完整的部分调用任何js脚本,只有当ajax调用完成时才会执行。