プロが教えるわが家の防犯対策術!

以下のjavascriptを外部ファイルにしたいのですが、外部ファイル、HTML部分ともに、どのように記述すればいいのか教えて頂けませんでしょうか?
よろしくお願いします。

<html>
<head>
<script language="JavaScript">
<!--
var 果物 = new Array("りんご","いちご","みかん","ドリアン","ライム");
var 野菜 = new Array("じゃがいも", "にんじん", "舞茸", "たまねぎ", "ピーマン");
var 肉 = new Array("牛肉", "豚肉", "鶏肉", "ラム", "ソーセージ");
var 魚 = new Array("鮭", "鰤", "鰯", "鮪", "秋刀魚");
var 酒 = new Array("ロンリコ", "ズブロッカ", "スピリダス", "焼酎", "ワイン");
var 菓子 = new Array("チョコレート", "スナック", "アイス", "キャンディー", "キャラメル");

function swapOptions(the_array_name)
{
var numbers_select = window.document.the_form.the_examples;
var the_array = eval(the_array_name);
setOptionText(window.document.the_form.the_examples, the_array);
}

function setOptionText(the_examples, the_array)
{
for (loop=0; loop < the_examples.options.length; loop++)
{
the_examples.options[loop].text = the_array[loop];
the_examples.options[loop].value = the_array[loop];
}
}

function Load() {
var the_array = eval(果物);
setOptionText(window.document.the_form.the_examples, the_array);
}

// -->
</script>
</head>
<body onLoad="Load();">
<form name="the_form" method="POST" action="" onSubmit="return Check()">
<select name="choose_category"
onChange="swapOptions(window.document.the_form.choose_category.options[selectedIndex].text);">
<OPTION value="果物" selected>果物
<OPTION value="野菜" >野菜
<OPTION value="肉" >肉
<OPTION value="魚" >魚
<OPTION value="酒" >酒
<OPTION value="菓子" >菓子
</select>

<select name="the_examples">
<OPTION value="0" selected>りんご
<OPTION value="1" >いちご
<OPTION value="2" >みかん
<OPTION value="3" >ドリアン
<OPTION value="4" >ライム
</SELECT>

<from>
</body>
</html>

また、次のサイト(http://www.carsensor.net/)では「メーカー・地域・価格から探す」からメーカー選択後、車名部分ではそのメーカーに該当するものが選択できますが、これは上の方法とは違うように思うのですが、どういった方法なのでしょうか?

A 回答 (1件)

外部ファイルを作成するには、単純にコード部分のみを外部ファイル(js)にして、HTMLからは<script>タグで読込めばよいです。


以下のサイトを参考にしてください。
<参考>
http://external-file.com/ja/apat.html
http://allabout.co.jp/internet/javascript/closeu …


ご提示のページはあまりよく見てませんが、セレクトの内容に変化があるとchgSel()というfunctionが呼び出されるようになっています。
chgSel()はtop_lstcmb.jsという外部ファイル内にあります。
選択された値を引数にしてajaxでphpから返された内容にオプションを書き換えるようになっているみたい。

データをブラウザ側で持っているのと、サーバー側にリクエストして結果を返してもらうのとの違いとでも言えばよいでしょうか。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
無事、外部ファイルにすることができました。

中古車のサイトについては外部ファイルも見たのですが、上位250台は最初からhtmlに記述されていますが、それ以外の車名(メーカー選択後に再ロードされる車名)がどこにも見当たらないので、どこから車名を引っ張ってきているのか分かりませんでした。
サーバー側にリクエストして結果を返すということが分かりませんでしたので、とても参考になりました。
複雑でなければ挑戦したいところですが、難しそうなのでもう少し自分でも調べてみようと思います。
ありがとうございました。

お礼日時:2009/09/15 17:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!