クリックすると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を使用する必要があるかもしれません。この手法はチェックボックスで機能します。ただし、ラジオボタンにはさらに作業が必要な場合があります。