• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキスト入力の制御)

テキスト入力の制御方法について

このQ&Aのポイント
  • テキスト入力の制御方法について質問です。テキストとチェックボックスがあり、チェックボックスにチェックをした段階でテキストの入力を無効にする方法を知りたいです。
  • また、テキストを入力している状態でもチェックボックスにチェックをすれば入力してあるテキストを無効にする方法も教えてください。
  • 現在はphpでエラーチェックを行っていますが、javascriptで入力制御をする方法がわかりません。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

IEの場合disabledされたテキストボックスの文字色を変えることは できませんので、背景色で調整ください <script> function setPrevDisable(obj){ var n=obj.previousSibling; while(n){ if(n.nodeName=="INPUT" && n.type=="text") break; n=n.previousSibling; } //n.value=""; n.disabled=obj.checked; n.style.backgroundColor=obj.checked?"#c0c0c0":"#ffffff"; } </script> <form> <input type="text" name="num" value="" /> <input type="checkbox" name="check" value="" onClick="setPrevDisable(this)"> </form>

dcx147
質問者

お礼

お返事ありがとうございます。 背景色もjs側で制御できるのですね~参考になります。 おかげさまで解決できましたので締め切らせて頂きます。 わかりやすいご説明をして頂きありがとうございました!

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

この場合、入力できないというのはデータを無効にするとの 認識でよろしいですね? であれば、disabledがよろしいかと。 またチェックをしたときにテキストをクリアするのであれば コメントアウトしてあるvalueに""を代入する行を有効にしてください <script> function setPrevDisable(obj){ var n=obj.previousSibling; while(n){ if(n.nodeName=="INPUT" && n.type=="text") break; n=n.previousSibling; } //n.value=""; n.disabled=obj.checked; } </script> <form> <input type="text" name="num" value="" /> <input type="checkbox" name="check" value="" onChange="setPrevDisable(this)"> </form>

dcx147
質問者

お礼

早速のお返事ありがとうございます! 思うように動作させることができました^^ テキストを入力できるか否かをわかりやすくするために チェックがついている場合はテキストの背景をグレーにするなど 安易に判別ができればいいかと思ったのですがどう変更すれば いいいもでしょうか? <input type="checkbox" name="check" value="" onChange="setPrevDisable('#666666')"> のように背景色を設定しjs側で背景の指定などを行うという 流れになるかとは思うのですが正解に結び付けません^^;

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

関連するQ&A

専門家に質問してみよう