5

ページに次のような入力(ボタン)があります。

<input id="the-button" type="submit" class="btn" value="Click me!">

フォーム送信アクションをオーバーライドしているので、実際にフォームを送信する前にいくつかのことを確認できます。これを行う前に、ボタンを無効にして、ユーザーがボタンを再度クリックしないようにし、ページが機能していることを確認できるようにします。

$("#the-button").attr("disabled", true);

フォームを送信しないことにした場合は、ボタンを再度有効にします。

$("#the-button").attr("disabled", false);

これはChrome/Firefoxで期待どおりに機能しますが、IE8ではボタンが無効になっているように見えますが、それでもクリックできます。望ましい動作は有効に見えることですが、IEではグレー表示されます。

4

2 に答える 2

7

jQuery 1.6以降を使用している場合は、「disabled」が要素のプロパティであるため、実際には.propを使用する必要があります。

$("#the-button").prop("disabled", true);
$("#the-button").prop("disabled", false);

http://api.jquery.com/prop/

于 2012-06-07T15:50:01.883 に答える
2

Wireyが言うように、を使用するのが最善の方法propですが、古いバージョンのjQueryで立ち往生している場合は、IEのステートメントを「ミラーリング」できます。たとえば、次のようになります。

$("#the-button").attr("disabled", ""); // Enabled
$("#the-button").attr("disabled", "disabled"); // Disabled

ReadOnlyについても同じことが言えます(明らかにテキストボックスなど)

$("#the-button").attr("readonly", ""); // Read Write
$("#the-button").attr("readonly", "readonly"); // Read Only
于 2012-06-07T16:07:49.107 に答える