1

IE で jscript コードを同期的に実行するのに大きな問題があります。他のブラウザは問題ありません。コードの例を次に示します。

function renew_order() {
    $.ajaxSetup({async:false});
    // These 3 lines are to disable 2 buttons and show a progress indicator.  This never happens,  
    // which is the main problem.
    $('#cancel_order_button').attr("disabled", "disabled");
    $('#renew_order_button').attr("disabled", "disabled");
    $('#renew_order_load').show();

    // Make some Ajax call to do some processing
    $.getJSON(url, function(json) {
    $.each (json, function (type, name) {
        new_order_id = json.OrderId;
        });
    });

    // Close the modal box this is diaplyed on and display some results on the web page
$.modal.close();
display_new_order(order_list);
}

基本的に、コードが実行され、モーダル ボックスが閉じられ、結果が表示されます。ただし、プロセスの実行中にモーダル ボックスのボタンが無効として表示されることはありません。これは IE のみの問題のようです。

4

2 に答える 2

2

代わりに prop 関数を使用してみてください。

$(".example").prop("disabled", true);

そして、それがうまくいかない場合は

document.getElementById("example").disabled = true
于 2013-03-20T18:50:30.513 に答える
0

ajax呼び出しが行われる前にボタンを無効にする必要があるため、これは同期性とは何の関係もないと思います。コンソール ウィンドウで JavaScript エラーを確認してください。何か問題が発生していると思われます。

于 2013-03-20T18:59:51.087 に答える