0

私はそのような構造を使用しています:

$('#wait').ajaxStart(function() {
    if ($(this).not(':visible'))
        $(this).showWarning();
}).ajaxComplete(function() {
    if ($(this).is(':visible'))
        $(this).hideWarning();
}).ajaxError(function() {
    alert('Unexpected error...');
});

また、ユーザーがクリックするたびに送信ボタンを無効にしたいと考えています。ユニバーサルにするために- ajaxStart メソッドで実行したいので、リクエストを初期化したボタンのIDを取得する方法はありますか? ありがとうございました

4

2 に答える 2

1

すべての送信ボタンにクラスを指定します。たとえばsubmitBtn、次のようにします。

$('.submitBtn').ajaxStart(function() {
  $(this).prop('disabled', true);
}).ajaxComplete(function() {
  $(this).prop('disabled', false);
});
于 2012-04-04T06:16:49.660 に答える
0

ここでボタンクリックイベントを関数に渡すことができると仮定すると、次のようにすることができます:

$('#wait').ajaxSend(function(event) {        //pass event object
  $(event.target).css('disabled','disabled');   //get event target
  if ($(this).not(':visible'))
        $(this).showWarning();
}).ajaxComplete(function() {
    if ($(this).is(':visible'))
        $(this).hideWarning();
}).ajaxError(function() {
    alert('Unexpected error...');
});
于 2012-04-04T06:02:57.983 に答える