2016-09-21 97 views
0

我開始學習一些jQuery,目前我還不是很擅長。但我需要一種方式在我的網站上提交表單,而不需要刷新。我發現了一個受歡迎的示例用AJAX提交表單。無法從AJAX表單提交確認提交

這是我的形式:

<form id="contact-form" action="envio.php" method="post" name="contact-form"> 

     <label for="message" class="contact-form-label font-open italic small-size" id="lang13"> 
       Message       
     </label> 
     <textarea class="text-big font-open regular medium-size" name="message"></textarea> 

     <input onclick="openSubmitPopup()" type="image" id="arrowsubmit" src="images/icons/Icons_navigation-07.png" name="submit"> 
</form> 

這是jQuery代碼:

<script language="javascript">// <![CDATA[ 
$(document).ready(function() { 
    $('#contact-form').submit(function(ev) { 
     ev.preventDefault(); 

     $.ajax({ 
      type: 'POST', 
      url: 'envio.php', //$(this).attr('action')'', 
      data: $(this).serialize(), 
      success: function(data) { 
      } 
     });  
     ev.preventDefault(); 
     return false; 
    }); 
}) 
// ]]></script> 

這正確的形式發送。但是,我不知道如何在發送表單時彈出確認<div>

+0

你希望在它發送通知用戶表單或表單提交成功的時間? –

+0

在您的成功關閉中執行它 –

+0

只需在Ajax代碼後面爲彈出窗口編寫Jquery即可。由於Ajax調用默認爲「異步」,所以代碼將在不等待Ajax響應的情況下執行。如果您只想在獲得成功後才顯示div,請將代碼寫入Ajax的「成功」大括號內。對於彈出div你可以將它添加到你的html,保持隱藏,只需在你的代碼中做一個.show()。 –

回答

0

在你成功的回調函數調用的方法來顯示彈出

<script language="javascript">// <![CDATA[ 
$(document).ready(function() { 
    $('#contact-form').submit(function(ev) { 
     ev.preventDefault(); 

     $.ajax({ 
      type: 'POST', 
      url: 'envio.php', //$(this).attr('action')'', 
      data: $(this).serialize(), 
      success: function(data) { 
       openSubmitPopup(); //Assume, the function to show pop up works perfectly :) 
      } 
     });  
     ev.preventDefault(); 
     return false; 
    }); 
}) 
// ]]></script> 
+0

謝謝!這工作 – Luca

0

你可以使用確認()函數,這是一個本地JavaScript代碼

<script language="javascript">// <![CDATA[ 
    $(document).ready(function() { 
     $('#contact-form').submit(function(ev) { 
      ev.preventDefault(); 

      $.ajax({ 
       type: 'POST', 
       url: 'envio.php', //$(this).attr('action')'', 
       data: $(this).serialize(), 
       success: function(data) { 
       } 
      });  

      var confirmation = confirm('Would you like to submit it?'); 
      if (confirmation == true) { 
       $(this).submit();     
      } 
     }); 
    }) 
    // ]]></script>