我有一个名为Check_Reviewed(Form)
的函数,我有一个div
作为确认框。我在这个函数中显示并隐藏它,然后再次调用此函数。但随叫随到,它会转到函数的最后一个括号,并且不会执行完整的函数(如调试器所示并经历过)。我无法理解这种行为。
代码段如下:
在HTML文件中,我有一个ID为createdConfirmBox
的div display
hidden
。
JS功能:
function hideBox(boxName){
$("#"+boxName).hide();
$("bl").hide();
}
function createConfirmBox(name){
var confirmBox = $("#createdConfirmBox");
var content = "<div id='cross_createdConfirmBox_"+name+"' class='cross'>X</div><span id='spanCreatedConfirmBox_"+name+"' style='text-align:center; font-size:18px; line-height:25px; width:580px; padding:7px; font-style:italic; background-color:white; display:inline-block; border-radius:10px;'></span><br><br><div style='text-align:center;' id='divCreatedConfirmBox_"+name+"'></div><br><div style='text-align:center;'><button class='btn btn-primary' type='button' id='btn_createdConfirmBox_yes_"+name+"' style='padding:5px 25px; margin-right:40px; font-size:18px;' >YES</button><button class='btn btn-cancel' type='button' style=' padding:5px 25px; font-size:18px; margin-left:40px;' id='btn_createdConfirmBox_no_"+name+"'>NO</button></div><br>";
confirmBox.html(content);
}
function Check_review(Form){
...
...
...
var company_new = $("#company").val().trim();
if(company_old && company_old!="" && company_new==""){
createConfirmBox("company");
$("#createdConfirmBox").attr("box-made-for","company");
$("#spanCreatedConfirmBox_company").html("<label style='color:red;'><b>Warning!!!</b></label><br>You have removed <b>Company Name</b> from Contact Details.<br><br><span style='padding:7px;display:inline-block;'>Existing Company Name: <b>"+company_old+"</b><br>New Company Name: <label style='color:#c8c8c8;'>Removed<label></span>");
$("#divCreatedConfirmBox_company").html("<label style='color:#464444;'>Do you want to continue without <b>Company Name?</b></label>");
$("#btn_createdConfirmBox_yes_company").on('click',function(){
company_old="";
$("#company").val("");
hideBox("createdConfirmBox");
Check_Reviewed(Form);
});
$("#btn_createdConfirmBox_no_company").on('click',function(){
$("#company").val(company_old);
hideBox("createdConfirmBox");
Check_Reviewed(Form);
});
$("#cross_createdConfirmBox_company").on('click',function(){
$("#company").val(company_old);
hideBox("createdConfirmBox");
Check_Reviewed(Form);
});
$("#createdConfirmBox").show();
$("#bl").show();
return true;
}
}
正如我在点击按钮btn_createdConfirmBox_no_company
时说的那样,它会转到点击它时定义的功能。当涉及到行Check_Reviewed(Form);
时,它会转到函数的最后一行}
而不执行代码。 Yhen转到点击函数});
的最后一行,然后退出。
我无法理解这种行为。
如果你有任何其他方法我可以完成我的工作,那么解释一下,我想在没有
Check_Reviewd(Form);
全局变量的情况下点击任何按钮调用此函数Form
。
答案 0 :(得分:0)
实际上,问题出在函数上面的代码中。它通过使用return false将其置于函数之外。我用断点来达到这个目的。原因是它正在使ajax请求成功时禁用复选框,只要城市名称发生变化就被触发,并且由于此禁用复选框,我在完成它之前总是退出该功能。
我知道这是一个非常愚蠢的错误和缺乏知识。感谢大家的回应和宝贵的时间。