51

readonly="readonly"入力フィールドに追加できるので、編集できないことは知っています。しかし、フォームコードにアクセスできないため、javascriptを使用して入力のIDをターゲットにし、読み取り専用にする必要があります(マーケティングソフトウェアを介して生成されます)。

送信時にデータを収集する必要があるため、入力を無効にしたくありません。

以下の提案に追加したページは、これまでのところ運がありません。

https://www.pages05.net/engagedigital/inputReadOnly/test?spMailingID=6608614&spUserID=MTI5MDk4NjkzMTMS1&spJobID=Nzk4MTY3MDMS1&spReportId=Nzk4MTY3MDMS1

将来これを使用する人のために必ず使用してください<body onload="onLoadBody();">

4

7 に答える 7

91

入力要素を取得し、そのreadOnlyプロパティをtrue次のように設定できます。

document.getElementById('InputFieldID').readOnly = true;

具体的には、これはあなたが望むものです:

<script type="text/javascript">
  function onLoadBody() {
    document.getElementById('control_EMAIL').readOnly = true;
  } 
</script>

onLoadBody()次のように body タグでこの関数を呼び出します。

<body onload="onLoadBody">

デモを見る: jsfiddle .

于 2013-07-24T05:22:05.467 に答える
33

上記の答えは私にはうまくいきませんでした。以下は行います: document.getElementById("input_field_id").setAttribute("readonly", true);

readonly 属性を削除するには: document.getElementById("input_field_id").removeAttribute("readonly");

また、ページの読み込み時に実行する場合は、こちらを参照する価値があります。

于 2016-07-06T18:39:22.640 に答える
7
document.getElementById('TextBoxID').readOnly = true;    //to enable readonly


document.getElementById('TextBoxID').readOnly = false;   //to  disable readonly
于 2013-07-24T05:12:36.607 に答える
4
document.getElementById("").readOnly = true
于 2013-07-24T05:04:09.770 に答える
4

これを試して :

document.getElementById(<element_ID>).readOnly=true;
于 2013-07-24T05:05:59.340 に答える