- ベストアンサー
プルダウンメニューを別ファイルで管理するには?
いろんなページでプルダウンメニューをつけていると、更新とかのときにいちいち全てに手を入れなくてはならなくて大変なのですが、スタイルシートの時のように外部スタイルシートを読み込むみたいなことをしたいと思っているのですが方法がまだわかりません。ご教授をお願いします。また、そういうことを学習できるサイトとかがありましたら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「外部JavaScriptファイル」を使えば簡単にできます。 外部JSファイルは普通のテキストファイルで、拡張子は「js」にします。 これを読み込むには、HTMLのHEAD領域に、 <SCRIPT language="JavaScript" src="外部JSファイル名.js"></SCRIPT> と書きます。 この SCRIPT タグは、必ず閉じる必要があります。 そして、外部JSファイル内にプルダウンの設定を行う関数を書き、これを各HTMLから呼び出します。 No.1 の方法が正攻法だと思うのですが、どうも NN4 では思うようにならないので、別の方法も挙げておきます。 (OPTION は設定されるのですが、プルダウンの幅が短いままになってしまいます。) ■option.js function drawOption(doc) { doc.writeln('<OPTION value="送信値1">テキスト1'); doc.writeln('<OPTION value="送信値2">テキスト2'); } ※↑にOPTIONタグの内容を、そのまま書きます。 ■HTMLのHEAD領域 <SCRIPT language="JavaScript" src="option.js"></SCRIPT> ■プルダウンを設置したい箇所 <SELECT …> <SCRIPT language="JavaScript"><!-- drawOption(document) //--></SCRIPT> </SELECT> IE5.0/IE5.5/NN4.7/NN6.2 動作確認済み
その他の回答 (1)
- makokoko
- ベストアンサー率50% (7/14)
外部JavaScriptファイル内に、プルダウンを設定する関数を書いておきます。 例1: function SetPulldown(SelectId){ var OptionTexts = new Array("1番目","2番目"); for(var i=0; i<OptionTexts.length; i++) SelectId.options[i] = new Option(OptionTexts[i],i); } この関数が書いてあるjsファイルをプルダウンのあるHTMLファイルで リンクします。で、HTMLファイルにはこう書きます。 例2: <BODY ONLOAD="SetPulldown(Form1.Select1)"> <FORM ID="Form1"> <Select ID="Select1"></Select> </FORM> プルダウンの項目は例2の var Options = new Array("1番目","2番目"); ←ここ 括弧の中の文字を増やした分だけ設定できます。 SelectId.options[i] = new Option(OptionTexts[i],i); ←ここ OptionTextsは表示するテキスト、iはCGI等に送信される値(value)です。 もちろんiはOptionTextsと同じにすることもできます。 こんな感じでしょうかねぇ。
お礼
早速の回答をありがとうございました。ただ、私の理解力不足でここまで1日半かかってもうまくいきませんでした。HTMLファイルに設置したプルダウンメニューのリンクが出来なくて「デバックしますか」と表示されます。今回は幸いに「leaz024さん」のやり方でうまくいきましたのでそちらの方で決めようと思います。ありがとうございました。
お礼
早々の回答を感謝します。おかげさまでこれまでプルダウンメニューのたくさんのリンクに手を入れていたのがすっきりと解決しまして非常に助かります。ご教授いただいた内容もすっきりと詳しく書かれていましたのでありがたかったです。今回を良い機会にとJavaScriptを少しづつ学習しようと思います。今度の回答は動作確認までしてくださいまして本当にありがとうございました。