我有这个javascript函数。我需要将确认更改为jConfirm。
var isValidSpecialityToSave =function(){
var isValid = false;
if(isEmpty("Specialtylist"))
{
jAlert("Speciality doesn't exist","Error");
}
else if(!isValidPrimary())
{
//Have to change this confirm to jConfirm
if(confirm('Primary speciality already exists.Don't you want to overide it'))
{
isValid =true;
}
}
else{
isValid =true;
}
return isValid;
};
现在这是我的代码->
else if(!isValidPrimary())
{
jConfirm('Primary speciality already exists.Don't you want to overide it',"Warning",function(r)
{
if(r)
{
isValid=true;
}
});
}
else
{
isValid=false;
}
return isValid;
};//End of function
现在的问题是,当代码进入else-if块时,jConfirm出现在屏幕上,但是在用户单击“确定”或“取消”之前,将执行return语句(return isValid)。我什至不能将return语句移到jConfirm回调中,因为它将把isValid返回到jConfirm回调函数,并且“ isValidSpecialityToSave”变得不确定。
有什么办法可以使我工作?任何建议都欢迎。
最佳答案
两件事:1)转义撇号。 2)jConfirm无法像内置的确认功能那样停止javascript处理。在用户选择一个选项而其余的代码继续运行之后,将发生回调。您需要重新编写代码,以便在jConfirm回调中运行接收isValid的内容,而不是等待其返回。