• ベストアンサー

ホームページに検索フォームを設置する方法

ホームページにプルダウン式で 「Yahoo」「Google」「Yahoo&Googleの同時検索」「サイト内検索」の4項目で検索方法を指定できる検索フォームを設置したいと思っています。 (サイト内検索はなくてもよい) わかりにくいかもしれませんが、 検索方法指定|文字入力フォーム|検索ボタン (プルダウン式) という形にしたいと思っています。 こうゆうことが可能なのかもわからないのですが、 設置方法がわかるかたいましたら、ぜひ教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • sion_fs
  • ベストアンサー率36% (152/416)
回答No.2

久しぶりにJava触ってるので、一応動作確認はしたけど変なところあったら御免なさい。 新しいウィンドウを複数開く場合は、#1の方法では根本的に無理ですので、全く1から作りました。 <Head>コンテンツ内に、次の物を入れて下さい。 <SCRIPT language="JavaScript"> <!-- function btnact(){ google = "http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=" + document.myform.text.value; yahoo = "http://search.yahoo.co.jp/bin/search?p=" + document.myform.text.value; if(document.myform.slcurl.value == "url1") { location.href = google; } else if(document.myform.slcurl.value == "url2") { location.href = yahoo; } else if(document.myform.slcurl.value == "url3") { windowVar = window.open(google,"newgoogle"); windowVar = window.open(yahoo,"newyahoo"); } } //--> </SCRIPT> もし、検索対象がgoogleだけ/Yahooだけの場合にも新しいウィンドウに開きたい場合は、 location.href = … の行に、 windowVar = window.open(… の行の物をコピーして差し替えてください。 window.open 内の"newgoogle"とか言うのは、ウインドウにつける名前です。(フレーム名の様な物) 次に、HTMLソースの方は、次の様になります。 <FORM name="myform"> <SELECT name="slcurl"> <OPTION value="url1" selected>google <OPTION value="url2">yahoo! <OPTION value="url3">同時検索 </SELECT> <input type=text name="text"> <input type=button value="検索" onclick="btnact()"> </FORM> 以上、お試しください。

maki1222
質問者

お礼

早々の回答ありがとうございます。 思っていたとおりの検索フォームができました。 本当にありがとうございました♪

その他の回答 (1)

  • sion_fs
  • ベストアンサー率36% (152/416)
回答No.1

これは、Javaスクリプトを必要とします。 まず、<head>~</head>の間に、次の物を記述してください。 <SCRIPT language="JavaScript"> <!-- function search(){ searchurl=document.myform.selecturl.options[document.myform.selecturl.selectedIndex].value; document.myform.action = searchurl; } function searchtext(){ document.myform.q.value=document.myform.p.value; } //--> </SCRIPT> 次に、検索窓を設置したい場所に、次のタグを設置します。 <FORM name="myform" action="http://www.google.co.jp/search"> <SELECT name="selecturl" onChange="search()"> <OPTION value="http://www.google.co.jp/search">google <OPTION value="http://search.yahoo.co.jp/bin/search" selected>yahoo! </SELECT> <input type=text name="p" onChange="searchtext()"> <input type=hidden name="q"> <input type=hidden name=hl value="ja"> <input type=hidden name=ie value=Shift_JIS> <input type=submit value="検索"> </FORM> これで、期待の動作が行えると思います。 なお、参考URLではそうしたシステムを「もっと簡単に」提供していますよ。

参考URL:
http://www.aya-studio.ne.jp/t/cgi/search/
maki1222
質問者

お礼

早々の回答ありがとうございます。 とてもわかりやすくて参考になりました。 教えていただいたタグだと「Yahoo」と「Google」での検索のみになってしまうのですが、 これに「YahooとGoogleの同時検索」も付け加えることは不可能でしょうか? プルダウンで (1)Yahoo (2)Google (3)Yahoo&Google といったふうにしたいと思っています。 同時検索した場合は、窓が2つ開かれるようにしたいと思っています。

関連するQ&A

専門家に質問してみよう