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

时间:2012-01-27 10:48:00

标签: php jquery jquery-ui

我将在验证表格后提交表格如下,首先我使用ajax帖子并检查是否存在重复值,如果存在,ajax将返回html代码,否则返回'false'。如果ajax返回是'html代码',则应弹出对话框。如果ajax return为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();" >        

2 个答案:

答案 0 :(得分:2)

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。这样可以正常工作。

答案 1 :(得分:0)

您无法从异步请求返回数据 - 您需要使用回调来处理这些数据。我不熟悉jQuery UI,因此我不确定是否可以在对话框中附加“onClose”处理程序,您可以将truefalse值传递给对象。