- ベストアンサー
プルダウンメニューでのイベントハンドラで悩んでます!
お世話になります。 現在、データベースより取得したデータ(学校名)を プルダウンメニューにて表示させています。 また、プルダウンが選択された際には、 onchangeイベントを使って取得IDからsubmitを行い、 学校情報を再読み込みするようにしています。 ここで問題なのが、onchangeイベントを使うと ・データベースに情報が1つだった場合 ・一度、読み込んだ学校情報を再度選択した場合 に再読み込みできない点です。 onchange以外に何か良いイベントハンドラや 対策はありますでしょうか? 他のイベントも色々試しましたが、 期待する挙動を示してくれません。 javascriptの先達の皆様ご教授よろしくお願いしますm(_ _)m
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
プルダウンには必ずデフォルト値をつけるのが原則でしょう <select> <option value="">選択して下さい</option> ←これ <option value="hoge">あああ</option> ・・・・ </select> onchangeにvalue=""はなにもしないという処理をいれるだけでよいです
その他の回答 (4)
- steel_gray
- ベストアンサー率66% (1052/1578)
「再読み込み」が必要な理由があるなら、 「再読み込み」とか「最新の情報に更新」とか、専用のボタンを設けた方が利用者はわかりやすいのでは。 直感的に利用できない変なインターフェースを苦労して設けるのは無駄だと思う。
お礼
steel_grayさまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。
- teru2008
- ベストアンサー率0% (0/1)
参考URLのやり方ってどうでしょうか。 ただ、ANo.3さんのようにデフォルト値を付けないといけないみたいですね。
お礼
teru2008さまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。
- auty
- ベストアンサー率58% (284/486)
見当違いかもしれませんが、 ・ onblur属性を使うか、onchange属性と組み合わせてみたらどうでしょうか。 ・ 組み合わせる場合、 1. 初期値フラグをoffに設定。 2. onchange属性で、呼び出されたかどうかのフラグをonにし、 3. onblur属性では、フラグがoffのときのみsubmitする。終わりにフラグをoffにしておく。
お礼
autyさまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。
- oka5130
- ベストアンサー率66% (35/53)
onchangeイベントの一番の悩みですよね。 残念ながらsubmitボタンを置く以外に方法はない気がします。 プルダウンのonchangeはそのままで、基本的にはボタンは 押されないようにしておけば操作性は変わりません。 UI的にはボタンが一つ増えてしまいますが。。 ボタンにスタイルを指定して、幅を少し狭めておくというのはいかがでしょう。
お礼
oka5130さまご回答ありがとうございました。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。
お礼
yambejpさまご回答ありがとうございました。 以前にも助けて頂いて恐縮です。 皆様のおかげで無事に解決致しました。 本当に助かりました^^。