• ベストアンサー

フォームを開いたときにテキストボックスを無効にする

htmlファイルを開いたときにhtml内のテキスト ボックスを入力不可にしたいのですが方法は ありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

チェックボックスのOnChangeにて form.tbox.readOnly = false; で可能です。 ReadOnlyの代わりに、disabledでも いいかもしれません。 disabledにすると、最初は、見えません。

その他の回答 (2)

回答No.3

disabledもreadonlyも ブラウザの種類やバージョンによって 使えない場合があります。 Netscape Communicator 4.* 辺りだと まだ使っている人もいそうなので、 こちらにも対応しておいたほうが良さそうです。 例) #見やすくする為にインデントに全角空白を #入れています。コピーする時は注意・・ JavaScript部 function DisAble() {  if( document.layers ){ // Netscape 4.*の時   if( document.MyForm.writecheck[0].checked ){    document.MyForm.comment.blur();   }  } else { // それ以外   if( document.MyForm.writecheck[0].checked ){    document.MyForm.comment.disabled = true;   } else {    document.MyForm.comment.disabled = false;   }  } } Body部 <BODY onLoad="DisAble();"> <FORM METHOD="POST" NAME="MyForm"> <INPUT TYPE=radio NAME="writecheck" value=0 CHECKED onClick="DisAble();">禁止 <INPUT TYPE=radio NAME="writecheck" value=1 onClick="DisAble();">許可 <INPUT TYPE="text" NAME="comment" value="" onfocus="DisAble();"> </FORM> Netscapeでは、テキストボックスに フォーカスが当ると、フォーカスを外して 入力できないようにするという処理になっています。 まぁ最近ではNetscapeも淘汰されてますから 気にするほどの事でも無いんですけどね・・・ Netscapeユーザーの足掻きでした( つд`)

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

JavaScriptで行う必要はないですね。 <input>タグに、ReadOnly を追加するだけです。

rocklife
質問者

お礼

ありがとうございます。 ラジオボタンをチェック後readonlyを解除して入力を有効にしたいのですが、readonlyはhtmlに書くため解除 できないのでしょうか?

関連するQ&A