[英]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.