1

在 jquery 中需要帮助:

这是代码架构:

  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 集,但输入和类名相同。

4

1 回答 1

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/

于 2012-08-09T20:57:28.383 回答