[英]How to check the return of a JavaScript function in onchange event
如果前一个函数的返回为true,如何在onchange内调用函数,我正在尝试在onchange事件上调用许多函数,但是如果前一个函数的返回为true,则应该调用最后一个函数。 我的代码如下:
<input type="text" name='test' id="test" onchange="remLdZero('test'); validatetest(); if(checkDuplicate('test', 'url','divid')===true){ nextfunction();};" maxlength="10" required>
我的jvascript checkDuplicate()在下面
function checkDuplicate(fieldId,page,msgArea){
var fieldVal= $('#'+fieldId).val();
$.ajax({
type: "POST",
url: page,
data: fieldId+'='+fieldVal,
//dataType: "html",
success: function(data){
if(data == 1){
$('#'+msgArea).css("display","none");
if(fieldId == 'test'){
return true;
}
}else{
$('#'+msgArea).html(data);
$('#'+msgArea).css("display","block");
}
}
});
}
注意:如果我在return true
行中调用我的nextfunction()
实例,它可以工作,但是当我的nextfunction()带来一个弹出窗口时,浏览器将阻止该弹出窗口,而如果我在onchange中调用nextfunction而不检查它的上一个函数是否起作用。
任何解决它的方法。
干得好。
的HTML
<input type="text" name='test' id="test" onchange="remLdZero('test'); validatetest(); checkDuplicate('test', 'url','divid', nextfunction);" maxlength="10" required>
JS
function checkDuplicate(fieldId,page,msgArea,callBakFn){
var fieldVal= $('#'+fieldId).val();
$.ajax({
type: "POST",
url: page,
data: fieldId+'='+fieldVal,
//dataType: "html",
success: function(data){
if(data == 1){
$('#'+msgArea).css("display","none");
if(fieldId == 'test'){
if(typeof callBakFn == "function"){
callBakFn();
}
}
}else{
$('#'+msgArea).html(data);
$('#'+msgArea).css("display","block");
}
}
});
}
现在,仅在您的ajax请求完成并且您的结果为true
之后,您的nextFunction
才会执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.