我使用ajax对字段模糊进行验证(如果无效则聚焦),但它与下一个字段的ajax验证冲突
1.尝试设置全局变量并在下一个字段验证中检查它。2.将$(this)存储在变量中,并在绑定方法上调用event。3.当焦点在当前字段但在某些情况下不起作用时,尝试关闭其他字段。
$('input[name="ledgercode"]')
.bind(
'blur',
'#ledgercode',
function(e) {
if ($('#dialog1').dialog('isOpen')) {
e.preventDefault();
} else {
$this = $(this);
var ledgercd = $(this).val();
if (ledgercd == "") {
document.getElementById("msgbox1").innerHTML = "Code must be entered";
$(this).focus();
} else {
$.ajax({
type : 'POST',
url : 'GL_Servlet?method=ledger_validation',
dataType : 'json',
data : {
"json" : [ ledgercd,company ]
},
success : function(data) {
var ldgstat = (data.ldgstat);
if (ldgstat == false) {
$this.focus(); //consistent focus if value invalid
document.getElementById("msgbox1").innerHTML = "Invalid Code";
} else if (data.ldgstat == true) {
$('#txt_ldg_name').val(data.ldg_desc);
$this.closest("tr")
.find('input[name="ldg_desc"]').val(data.ldg_desc);
document.getElementById("msgbox1").innerHTML = "";
}
}
});
}
}
});如果字段上的值无效,则在输入正确的值之前,字段应保持焦点,不离开字段。
发布于 2019-05-28 19:49:03
通过在ajax中设置(async : false ),解决了问题。
https://stackoverflow.com/questions/56337874
复制相似问题