2012-01-27 4 views
0

フォームを検証した後、次のようにフォームを送信します。まずはajax投稿を使用し、存在する場合は重複値が存在するかどうかを確認します。 「偽」。 ajax returnが 'html code'の場合、ダイアログボックスがポップアップするはずです。 ajaxの戻り値がfalseの場合form_validate()はtrueを返す必要があります。重複しないことを意味し、挿入データのためにフォームが提出されます。ユーザーがダイアログボックスで[OK]をクリックした場合、form_validate()は、重複があることを意味するtrueを返す必要があります。フォームは更新データを送信します。ユーザーがキャンセルをクリックした場合form_validate()はfalseを返します。これはフォームが送信しないことを意味します。私はこの時間に取り組んでいますが、それを理解できませんでした。 Plzのヘルプ。JQuery UIダイアログを使用してfalseの確認ダイアログの真を返します。

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; 
} 

adminform3としてフォームIDを追加します。これは正常に動作します。

0

あなたは非同期リクエストからデータを返すことはできません - あなたは、コールバックであることを処理する必要があります。私はjQueryのUIに慣れていないので、 "onClose"ハンドラをダイアログにアタッチすることが可能かどうかはわかりません。trueまたはfalseの値を渡すことができます。