5

javascript を使用して readonly="readonly" (つまり、true) を設定しています。

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

これは、FF、Safari、および Chrome では意図した効果 (フィールドは編集できなくなりますが、その内容はフォームと共に送信されます) を持っていますが、IE7 ではそうではありません。IE7 では、テキスト入力フィールドの内容を変更できます。

("readonly", "true") も設定してみました。これは、テストしている他の 3 つのブラウザーすべてで機能しますが、IE7 も無視します。

IE7でこれをやろうとした経験のある人はいますか? テキスト入力フィールド内の値をフォームで送信したいので、disabled 属性を使用したくありません。

4

4 に答える 4

13

これを試しましたか?

document.getElementById("my_id").readOnly = true;
于 2009-08-18T15:43:52.577 に答える
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>
于 2010-09-13T09:09:19.423 に答える
2

試す:

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

readOnlyです。Oは大文字です。

于 2009-08-18T15:57:13.737 に答える
0

または試してみてください:

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

@TheVillageIdiot で述べられているように、 readOnly の O は UPPER CASE であることに注意してください。これは IE7 から IE11 まで動作するはずです。

于 2016-01-05T15:06:30.423 に答える