2012-08-09 72 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