0

の中にボタンがありますupdate panel

ユーザーがボタンをクリックすると、Please Wait...テキストがボタンテキストとして表示され、ポストバックが完了するまでボタンが無効になります。私はこのコードを書きました:

$('#Button2').on("click", function (e) {
                $("#Button2").val("Please Wait");
                $('#Button2').attr('disabled', 'disabled');
});

問題は、ボタンが無効になっているときに、そのイベントがサーバー側で発生しないことです。どうすればこの問題を解決できますか?

4

5 に答える 5

4

サーバー呼び出しをトリガーするために jQuery.ajax 関数を使用していますか? その場合は、ボタンのテキストを変更し、「beforeSend」キーで無効にします。

$.ajax({
    .....
    beforeSend: function(){
     $("#Button2").val("Please Wait");
     $('#Button2').attr('disabled', 'disabled');
    }
    .....
});
于 2012-04-26T06:04:44.337 に答える
2
$('#Button2').on("click", function (e) {
                $("#Button2").text("Please Wait");
                $('#Button2').attr('disabled', 'disabled');
               //your ajax function here
     $.ajax({
            url:'your url',
            data : ({/*data to send***/  }),
            method : 'POST',

            success: function(msg){
                 $('#Button2').removeAttr('disabled');
           }
    });
             //end ajax


});
于 2012-04-26T06:04:21.530 に答える
1

You can use the .attr and .html functions in jQuery.

$('#btn').click(function(){
    $(this).html('Saving...'); //this changes the html to Saving...
    $(this).attr('disabled', true); //this will disable the button onclick
});

Here's a sample fiddle: http://jsfiddle.net/stan255/cpLqK/1/

Hope this helps.

  • Stanley
于 2014-03-06T01:29:42.817 に答える
0

onClick 関数で、最初に ajax 呼び出しを行い、その後ボタンを無効にしてみてください。これは非同期呼び出しであるため、呼び出しが行われている間、スクリプトの次の行でボタンを無効にする必要があります。呼び出しが行われた後のコールバックで、ボタンを再度有効にすることができます。

于 2012-04-26T06:04:04.123 に答える
0

ボタンを無効にした後、サーバーイベントを呼び出す必要があります。これには、使用する必要がありますClientScript.GetPostBackEventReference(bt1, null)

このリンクを参照してください:非同期ポストバックの更新パネルのボタンを無効にする

于 2012-04-26T06:57:14.670 に答える