0
在我的jQuery Ajax調用發佈兩次時發生了一些問題。jquery Ajax在輸入模糊上發佈兩次
function ajaxCall() {
this.send = function(data, url, method, success, type) {
type = type || 'json';
var successRes = function(data) {
success(data);
};
$.ajax({
url: url,
type: method,
data: data,
cache: false,
success: successRes,
dataType: type,
timeout: 60000,
error: function (xhr, ajaxOptions, thrownError) {
//alert(xhr.status);
console.log(thrownError);
alert("Error could not retrieve the data");
}
});
}
}
現在,這是我如何更新數據庫,當用戶關注和輸出字段。發佈作品,但它是兩個電話,我不想要。
// input type boxes update function
$("input[type=text], input[type=checkbox], textarea, input[type=number]").focus(function(e) {
e.preventDefault();
$this = $(this);
var key = $this.attr('name');
var value = $this.val();
var lookupTable = $this.attr('data-LookupTable');
var method = "POST";
$this.on('blur', function(){
var call = new ajaxCall();
var url = '/ajaxx/ajax.update.php';
var newValue = $this.val();
if (newValue!= value) {
var data = {
'keyField' : key,
'keyValue' : newValue,
'lookupTable' : lookupTable
}
call.send(data,url,method);
};
});
});
任何幫助將不勝感激。
看來你可能有事件兩個不同的項目射擊兩次什麼是「$這個」爲每個。調用?也許textarea被調用後文本,複選框等模糊被觸發? – jsh
不使用一個事件來綁定另一個事件,除非你準備將它刪除也會導致許多問題複合事件處理程序。需要「焦點」事件,它沒有做任何建設性的事情 – charlietfl