チェックを入れないとテキストフィールドが有効にならないようにする(複数版:大量&名前別々)


動作ブラウザ 【 IE:4.0  NN:6.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × × × - × -
Macintosh × - × × × × - -
UNIX - - - - - × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント tName = ["yourName","Age","etc"]; for (i=0; i<tName.length; i++) document.myFORM[tName[i]].disabled = !cOBJ.checked; <input type="checkbox" onClick="setTF(this)">←チェックして<br> 名 前:<input type="text" name="yourName" disabled><br> 年 齢:<input type="text" name="Age" disabled><br> その他:<input type="text" name="etc" disabled><br>
説  明 チェックボックスの状態に応じて複数のテキストフィールドへの入力の禁止/許可を指定するにはテキストフィールドのdisabledプロパティにtrueまたはfalseを設定します。チェックボックスの現在の状態を調べ!演算子でtrueとfalseを切り替えdisabledプロパティに入れることでテキストフィールドへの入力の禁止/許可を指定できます。処理すべきテキストフィールドが多くあり、名前が別々の場合には処理するテキストフィールド名を配列に入れておきます。forループを使って配列変数に格納されたテキストフィールド名の数だけ繰り返し禁止処理を行います。
サンプル <html> <head> <title>チェックを入れないとテキストフィールドが有効にならないようにする(複数版:大量&名前別々)</title> <script Language="JavaScript"><!-- function setTF(cOBJ) { tName = ["yourName","Age","etc"]; for (i=0; i<tName.length; i++) document.myFORM[tName[i]].disabled = !cOBJ.checked; } // --></script> </head> <body> <form name="myFORM"> <input type="checkbox" onClick="setTF(this)">←チェックして<br> 名 前:<input type="text" name="yourName" disabled><br> 年 齢:<input type="text" name="Age" disabled><br> その他:<input type="text" name="etc" disabled><br> </form> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA