1

クリック時に読み取り専用テキスト フィールドを有効にして値を入力するという単純な要件があります。

このために、私は次のjsに従いました

function enableField(){
document.getElementById("recordname").readOnly = false;  
}

HTMLコードは

<input id="recordname" cssClass="Gry999"  maxLength="35"  readonly="true" onclick="enableField()" name="recordname"  onkeypress="return validateCustomize(event);"/>

すべてのブラウザー (firefox、chrome、つまり 9) では、このコードは期待どおりに機能しますが、IE8 では、値を入力するために 2 回クリックする必要があります (最初のクリックでは、テキストフィールドはフォーカスされますが、値を入力できません。次のように動作します)。レディオンリー)

jqueryも試しました(入力フィールドからonclik attrを削除した後)が、助けにはなりません

$(document).ready(function() {                 
     $('#recordname').on('click',function() {           
     $('.jqueryclickcls').attr('readonly', false);   
  });
});

更新:document.getElementById("recordname").readOnly = false; このコードが他のコントロールからトリガーされた場合、 同じ コードが機能します。たとえば、別のリンクをクリックしてテキストフィールドを有効にする場合などです。

function enableField(){
    document.getElementById("recordname").readOnly = false;  
document.getElementById("recordname").focus();
    }
<a onclick="enableField()" >Enable Field</a>

この後、値を入力できますか??!!

4

3 に答える 3

0

注意してください、それは「readOnly」ではなく「readonly」です

試す

document.getElementById("recordname").setAttribute('readOnly', '');

また

document.getElementById('champ').removeAttribute('readOnly');
于 2012-07-11T11:14:58.660 に答える
0

試す

document.getElementById("recordname").disabled = false; 
于 2012-07-11T11:18:41.283 に答える
0

フィールドを無効 (読み取り専用) に設定するには、jQuery を使用する必要があります。

function disableField(){
    $("#recordname").attr("disabled", "disabled");
}

function enableField(){
    $("#recordname").removeAttr("disabled");
}

これはかなり簡単で、IEでも機能します。

于 2012-07-11T11:14:49.653 に答える