2012-12-05 110 views
0

我有這種形式,我需要修改才能在提交前確認它。提交前確認框

echo '<form method="post" action="coupon.php"> 
<input type="hidden" name="id_user" 
value="'.$id_user.'"> 
<input type="hidden" name="points" 
value="250"> 
<input type="hidden" name="form_secret" id="form_secret" value="'.$_SESSION['FORM_SECRET'].'" /> 
    <div id="p2"> 
<input type="submit" value="250"></div> 
</form>'; 

我試圖實現許多jQuery的模態盒(我不需要普通的JavaScript,因爲我需要添加一些設計),但即使有一個彈出形式繼續處理。 你能給我一些建議嗎? 謝謝。

回答

0

這裏是我的方法是:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Test</title> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    </head> 
    <body> 
     <form action="blah.php" class="confirm" method="get"> 
      <input type="text" name="field1" value="" /> 
      <button type="submit">Submit</button> 
     </form> 
     <div class="modal" style="display: none;"> 
      <h1>Attention!!</h1> 
      <p>Please confirm this action</p> 
      <button type="button" class="action confirm">Confirm</button> 
      <button type="button" class="action cancel">Cancel</button> 
     </div> 
     <script> 
     $(function(){ 
      // capture the form that triggered the action 
      var $form; 
      // can the form submit 
      var $cansend = false; 

      // show the modal on form submit 
      $('form.confirm').submit(function(){ 
       $form = $(this); 
       if ($cansend == true) 
       { 
        $cansend = false; 
        return true; 
       } 
       $('.modal').show(); 
       return false; 
      }); 

      // which button got clicked in the modal 
      $('div.modal button.action').click(function(){ 
       if ($(this).hasClass('confirm')) 
       { 
        $cansend = true; 
        $('div.modal').hide(); 
        $form.submit(); 
       } 
       else 
       { 
        $cansend = false; 
        $('div.modal').hide(); 
       } 
      }); 
     }); 
     </script> 
    </body> 
</html> 
+0

我試過這個,感謝打擾:) 問題是我還沒有得到任何彈出! 它可以是因爲我在我的頁面中有4個表單? 謝謝! –

+0

@al_alb我已經添加了一個確認表單的類,所以它只會在具有確認類的表單上觸發,如果您想要對其進行設置,那麼模式有一個模式類 – Dale

+0

非常感謝:)它的工作原理! –

4

您可以使用簡單的JavaScript來確認框。 內部使用onclick/onsubmit =「createConfirm()」/>

然後使用javascript確認框顯示確認框提交答案。 http://www.w3schools.com/js/js_popup.asp 使用此鏈接會給你確認框的例子。

您也可以修改佈局。你可以看看這個。這會很有用。 http://ui-dev.jquery.com/demos/dialog/#default

+0

謝謝,但如果我這樣做,我不能修改的佈局! –

+0

查看我編輯的答案。 –

0

添加到您的表單標籤....

onsubmit="return false" 

echo '<form method="post" action="coupon.php" onsubmit="return false" id="formID"> 

顯示構彈出...

和確認....發佈形式...

if(CONFORMATION){  
    $('#formID').submit() ; 
}else{ 
    //do your stuff 
} 

OR

$("form").submit(function() { 
    //show your conformation popup 

    if(CONFORMATION){ 
    return true; 
    } 

    return false; 
}); 

這需要什麼你的<form>標籤