OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

プルダウンメニューを別ファイルで管理するには?

  • 困ってます
  • 質問No.225151
  • 閲覧数981
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 57% (41/71)

いろんなページでプルダウンメニューをつけていると、更新とかのときにいちいち全てに手を入れなくてはならなくて大変なのですが、スタイルシートの時のように外部スタイルシートを読み込むみたいなことをしたいと思っているのですが方法がまだわかりません。ご教授をお願いします。また、そういうことを学習できるサイトとかがありましたら教えてください。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 75% (398/526)

「外部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 動作確認済み
お礼コメント
nobu3

お礼率 57% (41/71)

早々の回答を感謝します。おかげさまでこれまでプルダウンメニューのたくさんのリンクに手を入れていたのがすっきりと解決しまして非常に助かります。ご教授いただいた内容もすっきりと詳しく書かれていましたのでありがたかったです。今回を良い機会にとJavaScriptを少しづつ学習しようと思います。今度の回答は動作確認までしてくださいまして本当にありがとうございました。
投稿日時 - 2002-02-27 14:28:10
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル7

ベストアンサー率 50% (7/14)

外部JavaScriptファイル内に、プルダウンを設定する関数を書いておきます。 例1: function SetPulldown(SelectId){ var OptionTexts = new Array("1番目","2番目"); for(var i=0; i<OptionTexts.length; i++) SelectId.optio ...続きを読む
外部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と同じにすることもできます。


こんな感じでしょうかねぇ。
お礼コメント
nobu3

お礼率 57% (41/71)

早速の回答をありがとうございました。ただ、私の理解力不足でここまで1日半かかってもうまくいきませんでした。HTMLファイルに設置したプルダウンメニューのリンクが出来なくて「デバックしますか」と表示されます。今回は幸いに「leaz024さん」のやり方でうまくいきましたのでそちらの方で決めようと思います。ありがとうございました。
投稿日時 - 2002-02-27 14:26:19
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ