2016-04-13 12 views
0

特定のシナリオで無効にするテキストフィールドがあります。disabled = "disabled"属性はIE10のテキストフィールドを無効にしません。

if (eligible) { 
        $(".email-address-field").removeAttr('disabled'); 
       } 
       else{ 
        $(".email-address-field").prop("disabled", true); 
       } 

私のような無効なテキストフィールドを編集することができるよThsi IE10のVを除くすべてのブラウザで正常に動作します、:: enter image description here

がここにときに私に私のコードは次のようになります。私は次のようにjQueryを使用することにしましたこのテキストフィールドを検査:

<input class="email-address-field" disabled="" type="text" value="[email protected]"/> 

注:私はまた、次のものを使用して試みたが成功しません:

$(".email-address-field").prop("disabled", "disabled"); 
$(".email-address-field").attr("disabled", "disabled"); 

は、誰も私は、このための任意の回避策があります場合は、この問題を引き起こすか、または何を理解する手助けすることはできますか?前もって感謝します!

+0

入力マークアップから 'email-address-field'クラスがありません。したがって、セレクタは無効にするものは何も見つかりません。これは他のブラウザでも動作していますか? – DinoMyte

+0

@DinoMyte、それがあります。私は間違ってそれを削除しながらそれを削除しました。 –

答えて

1

テキスト入力を無効にするには、属性readonlyを使用する必要があります。

$(".email-address-field").prop("readonly", true);

それを削除する属性(ないattr())を適用するprop()を使用し、removeProp()

+0

ありがとう@jzm、それは魅力的に働いた。さらにもう1つの質問ですが、readonly属性はテキストフィールドにフォーカスすることはできますが、編集可能なものはありません。テキストフィールドに重点を置かないようにする方法はありますか? –

+0

@ CodeKaroそれを得るために 'disabled'と' readonly'の両方を設定してみてください。私はそれがIEで動作しないかもしれないと思う。 – Barmar

関連する問題