2
我有一個多次觸發的form.submit。第一次,沒關係。在我收到回覆後,如果再次點擊提交按鈕,它會啓動兩次。然後三次。似乎每次響應回來時,下次單擊該按鈕時,提交都會觸發額外的時間。form.submit多次觸發,每次響應後多出一次
RetrievePassword = function() {
var $popup = $("#fancybox-outer");
var form = $popup.find("form");
form.submit(function (e) {
var data = form.serialize();
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: data,
dataType: "json",
success: function (response) {
if (response.Success) {
$.fancybox.close();
}
alert(response.Message);
},
error: function (xhr, status, error) {
alert(xhr.statusText);
}
});
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return false;
});
};
我什至不知道如何調試這一點。任何意見表示讚賞...
'e.cancelBubble = true;如果(e.stopPagagation)e.stopPropagation();返回false;'是矯枉過正。因爲你正在使用jQuery來執行'e.preventDefault();''是你所需要的('和'e.stopPropagation();''如果你需要防止事件冒泡 - 但通常不需要) – ThiefMaster 2011-03-04 23:38:07