• 締切済み

どちらかひとつのテキストボックスにの入力可能にする方法

2つのテキストボックスのどちらかひとつのみ入力可能にする方法がわかりません。 例えば、物件を検索するのに「地域」と「最寄駅」で検索したいのですが、両方入力してそれが「地域:大阪」「最寄駅:東京駅」みたいなおかしなことを防ぐために、片方に入力したら、もう片方は入力できないようなプログラムはありませんか? javascriptで探していたのですが、そういったものが見つかりませんでした。 知っていたら教えてください。どうぞよろしくお願いします。

みんなの回答

noname#39970
noname#39970
回答No.3

ついでに submitする時にNo1やNo2のtrue・falseを手がかりにどちらを使うか判断

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

#1さんのでもよいのですが、明示的に使えるという部分がわかるように ラジオボタンなどつけてやるとユーザビリティがあがるかと。 <script type="text/javascript"> function F(x,y){ document.getElementById(x).disabled=true; document.getElementById(y).disabled=false; } </script> <form> <input type=radio name="usable" onfocus="F('text2','text1')" checked><input type="text" id="text1"> <input type=radio name="usable" onfocus="F('text1','text2')"><input type="text" id="text2" disabled> </form>

mmmkk
質問者

お礼

なるほど、ラジオボタンをつけるんですね。 そうですね、ユーザビリティを考えるとこちらの方がいいのかもしれませんね。 大変助かりました、ありがとうございます!

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.1

こんな感じでどうですか。 <script type="text/javascript"> function F(x,y){ if(x!=y)document.getElementById(y).disabled=true; } </script> <input id="text1" onfocus="F(this.id,'text2')"> <input id="text2" onfocus="F(this.id,'text1')">

mmmkk
質問者

お礼

はい、こんなかんじです。 でも、間違えて入力してしまった場合、違うほうへの入力ができないですね・・・。 (更新しないと) 確かに使ってみるまで気づきませんでした。 でも、参考になりました。ありがとうございます!

関連するQ&A