2012-01-27 63 views
0

我將在驗證表單之後提交表單,這裏首先我使用ajax post並檢查重複值是否存在,如果存在ajax將返回html代碼else else return '假'。如果ajax返回是一個'html代碼',則應該彈出對話框。如果ajax返回是false form_validate()應該返回true。這意味着沒有重複,表單將提交插入數據。如果用戶在對話框中單擊確定,form_validate()應該返回true,這意味着有重複,表單將提交更新數據。如果用戶點擊取消form_validate()應返回false,這意味着表單不會提交。我正在這個小時工作,但無法弄清楚。 Plz幫助。使用JQuery UI對話框返回錯誤確認對話框的真實

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
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。這將工作正常。

0

您不能返回從異步請求的數據 - 你需要處理與回調。我不熟悉jQuery UI,因此我不確定是否可以將「onClose」處理程序附加到對話框,您可以將該處理程序傳遞給truefalse值。