クリック時に読み取り専用テキスト フィールドを有効にして値を入力するという単純な要件があります。
このために、私は次の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>
この後、値を入力できますか??!!