- ベストアンサー
HTMLフォームのセレクトボックスの内容を動的に変更する方法
- HTMLフォームのセレクトボックスの内容を、与えられた条件に応じて動的に変更する方法について教えてください。
- セレクトボックスの選択肢を条件に基づいて生成し、それに応じてCGIに送信する値も変更する方法を知りたいです。
- CGIの改造ができない状況で、HTMLフォームの動作を制御するためにはJavascriptを使用する必要があります。どのようなJavascriptのコードを書くと、セレクトボックスの内容と値を条件に応じて動的に変更できるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
遅くなった感漂いますが・・。 もう一つ方法を思いついたのですが、そもそもDATファイルに書き込むのではなく、CGIでJavaScriptファイルを出力するのは無理でしょうか? つまり、DATファイルに数字が書かれている変わりに、.jsファイルに例えば count1=0; などと書き込むことで、HTMLのJavaScriptから読み出しを行うことはとても容易になりますがどうでしょう? DATを出力するCGIも改造できなければこのアイディアは使えないですけれども・・。
その他の回答 (1)
- Seravy
- ベストアンサー率47% (118/249)
まず、DATファイルの内容を解析し、それをセレクトボックスの値に反映したいということについて、これをHTMLページ単体で実現するためには、Ajax(JavaScript)を使う以外他にありません。 もっともこの方法では一部のユーザーは切り捨てることになります。 Ajaxとは、非同期通信を行うための近年注目されている技術・・と言っても、実際はJavaScriptの機能の一部ですが・・。 この技術を応用すれば、あなたの言うように同サーバー内にあるDATファイルを読み込み、セレクトボックスの値をJavaScriptでいじることは可能です。 後半のbikou2については私の読解力が乏しく、多少理解が出来ませんでしたが、とにかくbikou2のセレクトボックスのオプションの値を変化させたいということであれば、先述のJavaScriptとそのAjaxでなんとか出来ます。 成功を祈っています。
お礼
ご回答ありがとうございます。 うひゃ~、これは難しい・・・ 「requre...」なんて書き方を見たことがあるんで、そんな方法でできるのかと思ったのですが、無理なんですね。 >後半のbikou2については <SELECT NAME="(ここはどうしたら良いかわかりません)"> <OPTION>哲学 田中 ●●(if tanaka.datの内容=1 → ●●=外部 else if tanaka.datの内容=2 → ●●=休講) <OPTION>哲学 鈴木 ●●(if suzuki.datの内容=1 → ●●=外部 else if suzuki.datの内容=2 → ●●=休講) <OPTION>哲学 山田 ●●(if yamada.datの内容=1 → ●●=外部 else if yamada.datの内容=2 → ●●=休講) (書き方を知らないので記述法がぜんぜんスクリプトになっていなくてお恥ずかしいですが、意図はおわかり頂けるかと・・・) (^^; といった具合に内容を自動変更させたいという意味だったのですが、私のような素人には無理そうですね。 読解力が乏しいなんてとんでもないです。こちらこそ説明がつたなくてご面倒をおかけ致しました。
お礼
ありがとうございます! こんなに何日もお心に留めておいて下さって嬉しいです!! うーん、確かに! .jsなら読み込めますね。 .datを書き込むCGIも改造は出来ないんですが、.datを読み込んで.jsを書き出す別のCGIは用意そうです。 助かりました! どうもお世話になりました!!