2

送信時に、他のデータも ajax を使用してサーバーに送信するフォームがあります。

$('#continue-button').on("click", function(e){
    updateSessionVariables();
});

function updateSessionVariables(){
    $.ajax({
        type: "GET",
        url: update_bom_vars,
        data: myVars
    });
});

これは Chrome では正常に機能しますが、Firefox では ajax 呼び出しを送信しません。

私が試してみました:

$('#continue-button').on("click", function(e){
    e.preventDefault();
    updateSessionVariables();
});

これでデータは正しく送信されますが、フォームは送信されません。私も追加しました:

     $('#continue-button').submit();

しかし、喜びはありません。

どんな助けでも大歓迎です。

4

4 に答える 4

2

だから私は実際に次のように問題を解決しました:

$('#continue-button').on("click", function(e){
    e.preventDefault();
    updateSessionVariables();
});

function updateSessionVariables(){
    $.ajax({
       type: "GET",
       url: update_bom_vars,
       data: myVars
       success: ajaxComplete
    });
});

function ajaxComplete(){
    $('#parts-form').submit();
}

送信が機能する前に、ajax 呼び出しが完了していることを確認する必要があるようです。

すべての入力に感謝します!

于 2013-01-30T00:10:08.093 に答える
0

続行ボタンがフォームのIDでない限り、送信されません。ここでは通常のJavaScriptを使用しますが、少し軽量で、必要なものはすべてあります。

document.getElementById('formId').submit();

クリック機能の中にそれを追加すれば、うまくいくはずです。

編集:もう一度読んで、FirefoxでAJAX呼び出しが成功していないことに気づきました。それが本当の質問でした。私の悪い。

データベースに情報を送信する場合は、GETの代わりにPOSTを使用してみてください。GETは、まさにそれを行うことを目的としています...情報を送信するのではなく、取得します。

于 2013-01-29T19:16:45.137 に答える
0

ラインで...

$('#continue-button').submit();

変更:

$('#myFormId').submit();

ご挨拶...

于 2013-01-29T19:19:47.343 に答える
0

ボタンではなく、フォームを送信する必要があります。

$('#formwithid').submit();
于 2013-01-29T19:23:31.270 に答える