0

jquery onclick イベントで dom を変更してから送信すると、Firefox では機能しませんが、Chrome と IE ではうまく機能します。

    function test(){
    $('#b2').remove();
    var form = document.getElementById("123");
    form.submit();
}

$(function() {
    $('#b1').on('click', test);
});​

ここに最小限のテストケースがありますhttp://jsfiddle.net/Tjtjv/ ボタンテストをクリックすると、ページhttp://jsfiddle.netがロードされます

Chrome や IE のように Firefox で動作させるにはどうすればよいですか

4

3 に答える 3

0

ボタンでその領域を削除したいのはなぜですか?ユーザーがフォームを再度送信しないようにする場合は、ボタンを無効にする必要があります。

$("#b1").attr("disabled", "disabled"); // instead of $("#b2").remove()
于 2012-11-26T09:58:07.817 に答える
0

私はあなたのフィドルをこのように修正しました。それはFFで動作します。

このフィドルをチェックしてください

function test(){
    $('#bsub').remove();
    var $form = $("#123");
    $form.submit();
    console.log('form submitted');
}

$(function() {
    $('#b1').on('click', test);
});
于 2012-11-26T09:51:58.180 に答える
0

Onclickボタンのイベントで関数を呼び出すことで、この問題を解決しました。

 <form id="123" action="http://jsfiddle.net/" >
     <div id="b2" >
     <button id="b1" onclick="test()">test</button>
     </div>
 </form>

デモ

于 2012-11-26T09:52:32.383 に答える