2012-08-09 73 views
1

jQuery中需要幫助:jQuery的提交這是在成功提交表格的補充形式到PHP

這裏是一個代碼模式:

  1. 通過jQuery的提交表單到PHP
  2. PHP發送另一個提交後的表格
  3. 再次提交表單而不刷新頁面,並且這會一直持續下去。

示例代碼:

$(document).ready(function() 
{ 
    $(".message-submit-button").click(function(){ 
     var element = $(this); 
     var Id = element.attr("id"); 
     var messageinput = $("#messageinput"+Id).val(); 
     var action = $("#action"+Id).val(); 
     var dataString = 'messageinput='+ messageinput + '&mobilenumber=' + Id + '&action=' + action; 

     if(messageinput=='') 
     { 
      alert("Please Enter Message"); 
      document.getElementById('messageinput'+Id).focus(); 
     } 
     else 
     { 
      $("#flash"+Id).show(); 
      $.ajax({ 
       type: "POST", 
       url: "insert_message.php", 
       data: dataString, 
       cache: false, 
       success: function(html){ 
        $("#flash"+Id).hide(); 
        $("#message-content"+Id).replaceWith(html); 
       } 
      }); 

     } 
     return false; 
    }); 
}); 

在上述腳本中,請注意,輸出「HTML」無非是一個相同的形式具有不同的組ID的其他。

上面的代碼對第一個表單工作正常,但對第二個表單沒有問題。請幫助繼續提交表單。

注意:將表單提交給'insert_message.php'後,它會返回另一個div標籤中的表單,其中包含不同的id集,但輸入和類名相同。

回答

3

如果表單與不同的ID相同,只需更改ID。如果必須更改表格你就必須重新連接的事件處理程序,也可以使用代表團

$(document).on("click", ".message-submit-button", function(){ 

http://api.jquery.com/on/

如果不是jQuery的1.7+可以使用委託,而不是

$(document).delegate(".message-submit-button", "click", function(){ 

http://api.jquery.com/delegate/

+0

感謝您提供更快的響應。我嘗試了你的建議,但它不起作用。在每個表單中,只有表單名稱和輸入ID變化(包括提交按鈕)。但是表單是通過ajax提交傳遞的php輸出。 – TheGodWings 2012-08-09 21:07:03

+0

你是否改變'$(「。message-submit-button」)。click(function(){'to'$(document).on(「click」,「.message-submit-button」,function(){ ' – Musa 2012-08-09 21:09:25

+0

是的,我修改了它,當改變它時,它甚至沒有觸發空的消息alert。 – TheGodWings 2012-08-09 21:14:37