2009-08-18 3 views
4
내가 자바 스크립트를 통해 = (, 즉 참) "읽기 전용"읽기 전용으로 설정하고

:IE7에서 텍스트 입력 읽기 전용 속성을 인식하지 못합니까?

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

이 (더 이상 편집 할 필드 만들기,하지만 그 내용은 양식 제출) 의도 한 효과가 없다 FF, 사파리 및 크롬에서는 가능하지만 IE7에서는 그렇지 않습니다. IE7에서는 텍스트 입력 필드의 내용을 수정할 수 있습니다.

내가 테스트 중이지만 IE7도 무시하는 세 가지 다른 브라우저에서 작동하는 설정 ("readonly", "true")을 시도했습니다.

IE7에서이 작업을 해본 경험이있는 사람이 있습니까? 양식과 함께 제출할 텍스트 입력 필드 내의 값을 원할 때 disabled 특성을 사용하고 싶지 않습니다.

답변

13

시도해 보셨습니까?

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

시도는 :

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

O이 수도 읽기 전용 입니다!

+0

속성은 HTML에서는 대소 문자를 구분하지 않으며 XHTML에서는 모두 소문자입니다. 이것은 일반적인 Internet Explorer setAttribute 버그처럼 보입니다. 안전한 해결책은 set 속성을 피하고 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는 UPPER CASE입니다. 이것은 IE7에서 IE11까지 작동합니다.