- ベストアンサー
WEBの入力フォームについて
- WEBの入力フォームについて改善したい点や疑問について質問いたします。
- テキストボックスAに入力後、ラジオボタンで2を選択すると、テキストボックスBに自動的に入り、1及び2の場合はブランク(入力不可)というものです。改善したい点としては、最初にこのファイルを呼び出したときにはテキストボックスBに入力できてしまうところです。
- 2を選択後、テキストボックスBにカーソルを当てると左下のステータスバーにエラーと表示されるのはしかたのないことでしょうか。2を選択した場合は自動で入りつつ修正もできるようにしたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 初回表示時にB1を入力不可にするのであれば disabled="disabled" を追加してください。 B1<input type="text" name="name3" onfocus="if (!agree)this.blur();" onchange="if (!agree)this.value='';" disabled="disabled"> >また、2を選択後、テキストボックスBにカーソルを当てると左下のステータスバーにエラー 前回の回答内容がわからないので何ともいえませんがagreeという変数が無いためにエラーが表示されています。 以下のようにすればエラーは表示されなくなります。 (ただし、agreeが実際何に使われているかまでは検証していません。) ==== <html> <head> <title>WEBの入力フォームについて</title> <script language="JavaScript" type="text/JavaScript"> var agree; function copyab(f){ f.elements["name3"].disabled=false; f.elements["name4"].disabled=false; f.elements["name3"].value=f.elements["name1"].value f.elements["name4"].value=f.elements["name2"].value; agree = true; } function clearb(f){ f.elements["name3"].value=""; f.elements["name4"].value=""; f.elements["name3"].disabled=true; f.elements["name4"].disabled=true; } </script> </head> <body> <form> A1<input type="text" name="name1"> A2<input type="text" name="name2"><br> 区分 <input name="address" type="radio" value="1" onclick="clearb(this.form)" checked> 1 <input name="address" type="radio" value="2" onclick="copyab(this.form)"> 2 <input name="address" type="radio" value="3" onclick="clearb(this.form)"> 3<br> B1<input type="text" name="name3" onfocus="if (!agree)this.blur();" onchange="if (!agree)this.value='';" disabled="disabled"> B2<input type="text" name="name4" onfocus="if (!agree)this.blur();" onchange="if (!agree)this.value='';"> </form> </body> </html>
お礼
こんばんは、返信ありがとうございます。 内容を確認しまして、うまくいきました。 agreeに関しましては、前回回答をいただいたものにはついてなかったので、私が別のものを参考にしていたものを意味もわからずに追加してしまっていたようです。 エラーが出なくなりましたので助かりました。 逆にいえば、agreeがなくてもよいものか、もう一度確認していきます。 これで締めさせていただきます。ありがとうございました。