0

クリックするとAjaxを呼び出す入力がたくさんあります。それぞれが割り当てられたJavaScript関数として。Ajaxの実行中は、これらの入力を無効にする必要があります。これは私がこれまでに持っているものです:

  $("html").bind("ajaxStart", function(){
    $("input").attr("disabled", "disabled");
     $(this).addClass('busy');
  }).bind("ajaxStop", function(){
     $(this).removeClass('busy');
     $("input").removeAttr("disabled");
  });

唯一の問題は、入力が灰色になることです。あまり面倒なことなくこれを回避するにはどうすればよいですか?

readonly属性も試しましたが、何らかの理由で機能しません。これにより、少なくともChromeではボタンがグレー表示され、ラジオやチェックボックスをクリックできるようになります。

  $("html").bind("ajaxStart", function(){
    $("input").attr("readonly", true);
     $(this).addClass('busy');
  }).bind("ajaxStop", function(){
     $(this).removeClass('busy');
     $("input").removeAttr("readonly");
  });  

編集:これはCSSだけでは不可能なようですので、JavaScriptを使用する必要があるかもしれません。この手法はチェックボックスで機能します。ただし、ラジオボタンにはさらに作業が必要な場合があります。

http://jsfiddle.net/q3c2Y/1/

4

3 に答える 3

0

代わりに属性disabledを使用できます。readonly

于 2012-07-27T21:05:12.900 に答える
0

「読み取り専用」属性を試すことができます。

于 2012-07-27T21:05:37.447 に答える
0

プロパティdisabled値をtrue

$("input").attr("disabled", true);
于 2012-07-30T15:49:18.833 に答える