使用JQuery UI对话框返回true或false确认对话框


Return true of false confirmation dialog using JQuery UI dialog

我将在验证表单后提交一个表单,如下所示,首先我使用ajax帖子并检查是否存在重复值。如果存在,ajax将返回html代码,否则返回'false'。如果ajax返回是"html代码",则应弹出对话框。如果ajax返回为false,则form_validate()应返回true。这意味着没有重复,表格将提交插入数据。如果用户在对话框中单击"确定",form_validate()应返回true,这意味着存在重复,表单将提交以更新数据。如果用户单击"取消"form_validate()应返回false,这意味着表单将不会提交。我正在计算这个小时,但无法计算出来。Plz帮助。

   function form_validate(){
         $.post('index.php',{ .....
                             },function(result){ 
                                if(result!='false'){
                                  $('<div></div>')
                                          .html(result+'<br/>Click OK to confirm.  Click Cancel to stop this action.')
                                          .dialog({
                                                         buttons : {
                                                                "OK": function() { 
                                                                   $(this).dialog("close");                       
                                                                   return true;
                                                                 }, "Cancel": function() {
                                                                        $(this).dialog("close");
                                                                         return false;
                                                                 }
                                 }
                                   }

             });

        }

<form>标签

<form action="index.php" method="post" name="adminForm" onsubmit="return validate_form();" >        
function form_validation(){
             $.post
              .....
              .....
            ,function(result){        

                           if(result!='false'){
                               $('<div></div>')   
                                      .html(result+'<br/>Click OK to confirm.  Click Cancel to stop this action.')   
                                      .dialog({   
                                   buttons : {
                                        "OK": function() { 
                                              $(this).dialog("close");                       
                                              $('#adminForm3').submit();
                                        }, "Cancel": function() {
                                              $(this).dialog("close");
                                        }
                                   }});
                           }
                           else{                                  
                               $('#adminForm3').submit();
                           }
                           return ;
                           });
return false;
}

将表单id添加为adminForm3。这会很好用的。

您不能从异步请求返回数据,您需要通过回调来处理。我不熟悉jQuery UI,所以我不确定是否可以将"onClose"处理程序附加到对话框,您可以将truefalse值传递到该对话框。