0

各行にアドレスとその他のデモ情報を含む大きなテーブルがあります。更新されたデータを保存するために、各行にフォームと送信ボタンを追加しました。送信されると、 ajax を介して送信された HTML とフォームのコンテンツがデータに取り込まれます。問題は、一度しか機能しないことです。フォームが送信されると、データが送信され、期待どおりに入力されますが、フォームは 2 回目に送信されません。以下に骨格テンプレートがあります。ここで見たさまざまな方法で 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>

あなたの助けに感謝します!

4

1 に答える 1

-1

に置き換えreturn falseてみてくださいevent.preventDefault();

EDIT これが悪い答えだと思う人は、http: //fuelyourcoding.com/jquery-events-stop-misusing-return-false/を読んでください。

于 2013-07-07T13:03:28.943 に答える