[英]Javascript/Jquery stops working after Ajax call
我有一個ajax調用,在頁面上的所有javascript似乎都中斷之后,第一次提交表單時效果很好。 表單不會再使用ajax提交。
這是我的ajax電話:
$('form').submit(function(event) {
$('input:submit').attr("disabled", true).after('<p class="loading">Searching...</p>');
$.ajax({
type: "POST",
url: pathname,
data: $(this).serialize(),
success: function(data) {
$('#container').html("<div id='message'></div>");
$('#message').append(data).hide().fadeIn(1500);
},
});
event.preventDefault();
});
我的控制台沒有任何錯誤。 任何想法可能是什么原因造成的?
我解決了問題,主頁內容正在更改。 導致javascript卸載。 所以我需要使用Jquery .on / .live,然后它才能工作。 無論出於什么原因,它在一台服務器上都可以正常工作,而在另一台服務器上卻不能。
提交表格后,刪除已disabled
的人。 並取出,
通過@JustinRusso提及。
$('form').submit(function(event) {
$('input:submit').attr("disabled", true).after('<p class="loading">Searching...</p>');
$.ajax({
type: "POST",
url: pathname,
data: $(this).serialize(),
success: function(data) {
$('#container').html("<div id='message'></div>");
$('#message').append(data).hide().fadeIn(1500);
$('input:submit').removeAttr("disabled");
}
});
event.preventDefault();
});
用法如下:無需定義event.preventDefault();
$('form').submit(function(event) {
$('input:submit').attr("disabled", true).after('<p class="loading">Searching...</p>');
$.ajax({
type: "POST",
url: pathname,
data: $(this).serialize(),
success: function(data) {
$('#container').html("<div id='message'></div>");
$('#message').append(data).hide().fadeIn(1500);
$('input:submit').removeAttr("disabled");
},
});
return false;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.