チェックするとテキストフィールドが有効、チェックオフにするとテキストフィールド内容を消去する


動作ブラウザ 【 IE:4.0   NN:6.0
Internet Explorer Netscape Navigator Opera iCab Safari
3.0x 4.0x 4.5 5.0x 5.5 6.0 2.0x 3.0x 4.0x 4.x 6.0 7.0 7.x 2.x 1.x
Windows × - × × × × -
Macintosh × - × × × ×
UNIX - - - - - × × × × -

ポイント document.myFORM[fName].disabled = !cOBJ.checked; if (!cOBJ.checked) document.myFORM[fName].value = ""; <input type="checkbox" onClick="setTF(this,'etc')">その他<br> <input type="text" name="etc" disabled>
説  明 チェックボックスの状態に応じて特定のテキストフィールドへの入力の禁止/許可を指定するにはテキストフィールドのdisabledプロパティにtrueまたはfalseを設定します。チェックボックスの現在の状態を調べ!演算子でtrueとfalseを切り替えdisabledプロパティに入れることでテキストフィールドへの入力の禁止/許可を指定できます。チェックボックスのチェックがオフになったかどうかはcheckedプロパティの値を調べます。この値がtrueであればオン、falseであればオフになります。オフの場合はテキストフィールドの内容を消去します。消去するにはテキストフィールドのvalueプロパティに""(空文字)を入れます。
サンプル <html> <head> <title>チェックするとテキストフィールドが有効、チェックオフにするとテキストフィールド内容を消去する</title> <script Language="JavaScript"><!-- function setTF(cOBJ,fName) { document.myFORM[fName].disabled = !cOBJ.checked; if (!cOBJ.checked) document.myFORM[fName].value = ""; } // --></script> </head> <body> <form name="myFORM"> <input type="checkbox" onClick="setTF(this,'etc')">その他<br> <input type="text" name="etc" disabled> </form> </body> </html>
補足説明 Windows XP SP2でも問題なく動作します。

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


写真素材 PIXTA