2009-08-18 5 views
4

Я настраиваю только для чтения = «ReadOnly» (другими словами, правда) с помощью JavaScript:Атрибут ввода текстового ввода не распознан в IE7?

document.getElementById("my_id").setAttribute("readonly", "readonly"); 

Это оказывает желаемый эффект (что делает поле больше не доступны для редактирования, но его содержимое представляется в виде) в FF, Safari и Chrome, но не для IE7. В IE7 я все еще могу изменить содержимое поля ввода текста.

Я также пробовал настройку («readonly», «true»), которая работает во всех трех других браузерах, которые я тестирую, но которые IE7 также игнорирует.

Есть ли у кого-нибудь опыт работы с IE7? Я не хочу использовать отключенный атрибут, так как я хочу, чтобы значение в поле ввода текста было отправлено с формой.

ответ

13

Вы попробовали?

document.getElementById("my_id").readOnly = true; 
2

попробовать:

document.getElementById("my_Id").setAttribute("readOnly","readonly") 

это доступен только для чтения, O является столицей!

+0

Атрибут не чувствителен к регистру в HTML, и все строчные буквы в XHTML. Это похоже на обычную ошибку setAttribute Internet Explorer. Безопасное решение состоит в том, чтобы избежать установки атрибута и вместо этого использовать свойство accessor (см. Ответ vit). – Quentin

2
<script type="text/javascript"> 

function blah(txt) { 
    var text = document.getElementById(txt).value; 
    if(text.length > 4 && document.getElementById('chk').checked == false) { 

    // ********* NOT WORKING WITH IE *************** // 
    //document.getElementById("ta").setAttribute('readOnly','readonly'); 
    //document.getElementById("ta").readOnly="readOnly"; 
    // ******** --- **********// 

    //document.getElementById("ta").disabled = true; // for disable textArea 
    document.getElementById("ta").blur(); // comment this when above line is uncommented or visa-versa 
    document.getElementById('chkBox').style.display = "block"; 
    } 
} 

function unable() { 
    // document.getElementById("ta").disabled = false; // to unable textArea -- uncomment when disabling is used or visa-versa 
    document.getElementById('ta').focus(); 
    document.getElementById('chkBox').style.display = "none"; 
} 

</script> 


<textarea id="ta" onkeydown="blah('ta')" ></textarea> 
<div id="chkBox" style="display:none"><label> Please check this to continue....</label><input type="checkbox" id="chk" onclick="unable()"></div> 
0

Или попробуйте:

document.getElementById("my_id").setAttribute("readOnly", true);

Пожалуйста, обратите внимание, как указано на @TheVillageIdiot, то O в READONLY является ВЕРХНИЙ РЕГИСТР. Это должно работать от IE7 до IE11.

Смежные вопросы