2013-05-12 45 views
0

到目前爲止,我有一個HTML表單,允許用戶張貼一些數據。這是我需要進行表單處理的步驟。在同一頁面上進行對話確認後顯示錯誤。 jQuery和PHP

1,一旦用戶提交網頁A上的數據,然後它帶來了第A jQuery的對話窗口,允許用戶確認他們正在做的是正確與否。

2,點擊是在對話窗口後,我需要把它帶到頁面一遍。然後相同的頁面將根據按下的按鈕是或否來處理邏輯。

3所述的邏輯將然後重定向到頁B或只輸出驗證錯誤。

頁A

,允許用戶提交數據

<form style="display:block" id="edit-user" name="input" action="" method="post">     
        <?php 
         if(isset($users)) { 
          echo "<select name='users'>"; 
          foreach($users as $user) { 

           echo "<option value='".$user."'>".$user."</option>"; 

          } 
          echo "</select> 
          <input type='submit' value='Submit' name='edit-user'>"; 
         } 


        ?> 

上的頁面,其從同一頁面表單提交後彈出的對話窗口的表格。

if($_POST['edit-user']) { ?> 

<script type="text/javascript"> 

    $(function() { 
     $("#dialog-confirm").dialog({ 
      dialogClass: "no-close smaller-text", 
      resizable: false, 
      height:160, 
      modal: true, 
      buttons: { 
       "Yes": function() { 
        $(this).dialog("close"); 

       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 

      } 
     }); 
    }); 
</script> 

<?php } ?> 

對此的任何解決方案?如果還有其他方式完全做到這一點,請分享。

回答

0

你可以嘗試這樣的事情:

頁A

<form id="edit-user" name="input" action="" method="post"> 
...your input fields here... 
<button type="button" id="submitBtn">Submit</button> 
</form> 

頁中的腳本

<script type="text/javascript"> 
$(function() { 
    $('#submitBtn').on('click',function(){ 
     $("#dialog-confirm").dialog({ 
      dialogClass: "no-close smaller-text", 
      resizable: false, 
      height:160, 
      modal: true, 
      buttons: { 
      "Yes": function() { 
       $(this).dialog("close"); 
       $('#edit-user').submit(); 

      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 

     }); 
    }); 
}); 
</script> 
+0

對不起你不介意向我解釋的代碼做了什麼? – 2013-05-12 18:38:22

+0

它聽按鈕點擊提交,如果點擊它launchs你的對話框,如果單擊該對話框是它提交表單。 – Galfau 2013-05-12 18:58:53

0
<form style="display:block" id="edit-user" name="input" action="" method="post">     
    <?php 
    if(isset($users)) 
    { 
     echo "<select name='users' id='users'>"; 
     foreach($users as $user) 
     { 
      echo "<option value='".$user."'>".$user."</option>"; 
     } 
     echo "</select> 
     <input type='button' value='Submit' onclick='validate();'>"; 
    } 


    ?> 
<script> 
function validate() 
{ 
var user = getElementById('#users').value; 
    $("#dialog-confirm").dialog({ 
     dialogClass: "no-close smaller-text", 
     resizable: false, 
     height:160, 
     modal: true, 
     buttons: { 
      "Yes": function() { 
       /*Do the client side validation. 
       For server side validation make use of ajax. In 
       server side validation, handle rest of the script according to response. 
       */ 
       if(VALIDATION FAIL) 
       {//output error 
       $(this).dialog("close");}else{ 
       window.location.href = 'Url to Page B'; //If validation is success 
       } 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 

     } 
    }); 
} 
</script> 
相關問題