Ajax只提交一次

时间:2013-07-07 12:51:21

标签: jquery ajax forms

我有一个大表,每行都有地址和其他演示信息。我已经为每一行添加了一个表单并提交了按钮以保存更新的数据。提交时,数据中的数据将填充HTML,并通过ajax发送表单内容。 问题是,它只能工作一次。如果表单已提交,则会发送数据并按预期填充,但不会再次发送表单。我在下面有一个骨架模板。我尝试过以我在这里看过的各种方式使用live()函数,但我无法让它工作。

编辑:我怎样才能使结果div#G1在几秒后淡出?无法做到这一点。

相关JS:

   $(document).ready(function () {
    $("#Frm1").submit(function (event) {
        var values = $(this).serialize();
        $.ajax({
            url: "savedata.php",
            type: "post",
            data: values,
            success: function (msg) {
                $("#G1").replaceWith(msg).fadeIn(2000);
                $('#ty').html('<select name="thanks"><option value="1">Yes</option><option value="0" selected>No</option></select>');
            },

        });

        return false;
    });
});

HTML

<table id="maint">
<tr>
    <td><strong><a href="mailto:" title="<p>Address:<br>1417 Apt 38<br>NY<p>Phone:4253455550</p>" id="1_pop">Bpbb BB</a></strong>
    </td>
    <td>1</td>
    <td>Cara JT</td>
    <td></td>
    <td>
        <form id="Frm1">
            <input type="hidden" id="id" name="id" value="1">
            <input type="hidden" name="type" value="rsvp">
            <input type="text" id="gift" name="gift" value="3">
    </td>
    <td id="ty"></td>
    </td>
    <td>
        <input type="submit" id="submit" value="Save Row" />
        <div id="G1"></div>
    </td>
    <td>
        </form>
    </td>
</tr>

感谢您的帮助!

1 个答案:

答案 0 :(得分:-1)

尝试将return false替换为event.preventDefault();

修改 对于认为这是一个错误答案的人,请阅读:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/