2

プログラムでフォームを作成し、送信しようとしています。ただし、submit() 関数は何もしません。

$(".deleteLink").click(function(event) {
    event.preventDefault();

    var form = $("<form></form>");
    form.attr("method", "POST");
    form.attr("action", "http://myurl.com");

    form.submit(function() {
        alert('Handler for .submit() called.');
        return false;
    });
});

Firebug でブレークポイントを設定すると、click() 関数が呼び出され、"form" 変数が正しく入力されることがわかります。すべてが submit() メソッドまで機能します。送信ハンドラー内の alert() メソッドが呼び出されることはありません。

submit() が呼び出されたときに jquery.js 内のコードは実行されますが、それが何をするのかを調べるのに苦労しました。

ページ上に「submit」という名前のオブジェクトが他にないことを確認しました。

誰が何が起こっているのか手がかりを持っていますか?

明確化: function() パラメータなしで submit() を呼び出しても、何も起こりません。

さらに明確化: submit(function(){alert()}) の後に submit() を呼び出すと、alert() が呼び出されますが、フォームはまだ送信されません。

さらに別の説明:ページ全体を更新したい。私はajax送信をしようとしていません。

4

4 に答える 4

1

送信する前に、新しいフォームをドキュメントに挿入する必要があります。

$("body").append(form);
form.submit();
于 2013-04-16T18:27:37.483 に答える
0

form.submit()フォームを送信するためのトリガーの呼び出し

于 2013-04-16T18:00:03.833 に答える