每当我失去对ID字段的关注时,alert("Start AJAX: " + EmplID);
被调用,但是AJAX调用被做了两次:第二次ID字段失去焦点而第一次没有。所有建议都会有所帮助。
$("#ID").focusout(function() {
var EmplID = $(this).val();
alert("Start AJAX: " + EmplID);
$.ajax({
type: "POST",
url: "program_includes/Employee_help.php",
cache: false,
data: {
value: 4,
id: EmplID
}
}).done(function(msg) {
alert(msg);
parseScript(msg);
$.ajax({
type: "POST",
cache: false,
url: "program_includes/Customer_help.php",
data: {
value: 4,
id: $("#Kundennummer").val(),
Employee: "Yes"
}
}).done(function(msg) {
alert(msg);
parseScript(msg);
$("#Name").val($("#customers_Name").val());
}).fail(function(msg) {
alert("Fail2 : " + msg);
});
}).fail(function(msg) {
alert("Fail1 : " + msg);
});
});
答案 0 :(得分:0)
尝试使用模糊,而不是焦点。 jQuery文档如下所示:
The focusout event is sent to an element when it, or any element inside of it, loses
focus. This is distinct from the blur event in that it supports detecting the loss of
focus on descendant elements (in other words, it supports event bubbling).
或者在focusout handler
中使用event.stopPropagation()答案 1 :(得分:0)
继续T.J. Crowder
我的建议是不要使用警报进行调试。这不是1997年。使用调试器进行调试。您的浏览器内置了一个。这始终是我的建议,但在这里特别相关,因为警报会干扰焦点逻辑。
除非你正在进行移动开发,否则不清楚使用警报。你应该使用控制台。所以只需替换
alert(); //badness
与
console.info(); //goodness, look at the console
然后在浏览器中按F12
,您将在控制台中看到日志。即使最新的IE现在也有JS控制台。