• ベストアンサー

プルダウンメニューでのイベントハンドラで悩んでます!

お世話になります。 現在、データベースより取得したデータ(学校名)を プルダウンメニューにて表示させています。 また、プルダウンが選択された際には、 onchangeイベントを使って取得IDからsubmitを行い、 学校情報を再読み込みするようにしています。 ここで問題なのが、onchangeイベントを使うと ・データベースに情報が1つだった場合 ・一度、読み込んだ学校情報を再度選択した場合 に再読み込みできない点です。 onchange以外に何か良いイベントハンドラや 対策はありますでしょうか? 他のイベントも色々試しましたが、 期待する挙動を示してくれません。 javascriptの先達の皆様ご教授よろしくお願いしますm(_ _)m

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

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

プルダウンには必ずデフォルト値をつけるのが原則でしょう <select> <option value="">選択して下さい</option> ←これ <option value="hoge">あああ</option> ・・・・ </select> onchangeにvalue=""はなにもしないという処理をいれるだけでよいです

yoroshikumail
質問者

お礼

yambejpさまご回答ありがとうございました。 以前にも助けて頂いて恐縮です。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。

その他の回答 (4)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.5

「再読み込み」が必要な理由があるなら、 「再読み込み」とか「最新の情報に更新」とか、専用のボタンを設けた方が利用者はわかりやすいのでは。 直感的に利用できない変なインターフェースを苦労して設けるのは無駄だと思う。

yoroshikumail
質問者

お礼

steel_grayさまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。

  • teru2008
  • ベストアンサー率0% (0/1)
回答No.4

参考URLのやり方ってどうでしょうか。 ただ、ANo.3さんのようにデフォルト値を付けないといけないみたいですね。

参考URL:
http://y7maru.bblog.jp/entry/405834/
yoroshikumail
質問者

お礼

teru2008さまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

見当違いかもしれませんが、 ・ onblur属性を使うか、onchange属性と組み合わせてみたらどうでしょうか。 ・ 組み合わせる場合、   1. 初期値フラグをoffに設定。   2. onchange属性で、呼び出されたかどうかのフラグをonにし、   3. onblur属性では、フラグがoffのときのみsubmitする。終わりにフラグをoffにしておく。

yoroshikumail
質問者

お礼

autyさまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。

  • oka5130
  • ベストアンサー率66% (35/53)
回答No.1

onchangeイベントの一番の悩みですよね。 残念ながらsubmitボタンを置く以外に方法はない気がします。 プルダウンのonchangeはそのままで、基本的にはボタンは 押されないようにしておけば操作性は変わりません。 UI的にはボタンが一つ増えてしまいますが。。 ボタンにスタイルを指定して、幅を少し狭めておくというのはいかがでしょう。

yoroshikumail
質問者

お礼

oka5130さまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。