jConfirm 不等待用户响应

jConfirm not waiting for user to response

我有这个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 回调中,因为它会对 jConfirm 回调函数 return isValid 并且 "isValidSpecialityToSave" 未定义。

我有什么方法可以让它工作吗?欢迎任何建议。

两件事:1) 转义撇号。 2) jConfirm 不能像内置确认函数那样停止javascript 处理。您的回调发生在用户选择一个选项之后,而其余代码继续运行。您需要重新编写代码,以便在 jConfirm 回调中接收 isValid 的内容是 运行,而不是等待来自它的 return。

JConfirm 或 JAlert,您的下一步应该在回调函数内。例如。我在下面给出了。我想在 Ajax post 保存并转到另一个页面后显示一条成功消息。