0

beforeSubmit または beforeSend (どちらでもかまいません) で DOM からフォームを削除すると、IE と FF の両方で http 要求が発行されないことがわかります。form.submit() jquery.form.js の 296 行目が呼び出されますが、http リクエストは発行されません。ただし、クロムでは正しく動作します。

サンプルコード:

$('#form1').ajaxForm(
    {
        beforeSubmit: function(array, matched_set, options)
        {
            // this line removes #form1 from the DOM.
            // it is still available to jquery form plugin by means of closure
            // line 296 form.submit() in jquery.form.js is hit,
            // but IE and FF never emit http request. If I remove this line, it works.
            $('#jqm_window').html(waiting_page);
        },

chrome: ここに画像の説明を入力 firefox: chromeここに画像の説明を入力 を使用すると、http トレースがフィドラーでキャプチャされます (ただし、他のブラウザーではキャプチャされません): ここに画像の説明を入力

4

2 に答える 2

0

同じ問題があります。jQuery フォーム オブジェクトを作成し、送信機能を呼び出します。これは Chrome では正常に機能しますが、Firefox では機能しません。

Chrome と Firefox では js エンジンが異なり、Firefox では DOM にないフォーム要素を送信できません。

于 2013-09-10T09:37:08.557 に答える