• ベストアンサー

Javascirptによるページ内への複数エンジンの検索ボックス設置方法

はじめまして。こんばんわ。 shadowdragonと申します。 皆様ご存知かと思いますが、この度Yahoo!Japanにおいて検索エンジンのシステムが大幅に変更されました。 参考:http://internet.watch.impress.co.jp/cda/news/2005/10/03/9330.html これにより現在設置しているjavascriptでの検索ボックスが正常に動作しなくなりました。(文字化けを起こす) 恐らく文字コードがUTFになったからだとは思いますが、この文字コードの認識方法と言いますか、変換方法についてご教授いただけたら幸いでございます。 また、現在設置しているjavascriptを参考までに記載させていただきますので、むしろこっちのほうがいいだろ!的なご意見もありましたらぜひお願い致します。 簡単にまとめさせていただきます。 現象:Yahoo!での検索が文字化けを起こす 現状:慣れないjavascriptでYahoo!及びGoogleの検索エンジンをラジオボックスで選択し、キーワードを入力後、検索ボタンにて検索を行なっています。 希望:その1 Yahoo!での検索で文字化けを起こさないようにしたい    その2 下記のソースだと検索ボタンのtypeがbuttonなため、キーワード入力後、検索ボタンを押さなければ検索されないため、できればtypeをsubmitにしたいのですが、それもうまくいきません…;; (その2についてはできればで結構です) ※文字数オーバーのためソースは補足致します。 不備な点などございましたら、お申し付けください。 皆様お忙しいところ恐縮ではございますが、ご回答いただければ幸いです。 よろしくお願い致します。

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

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.3

とりあえず submit を使うように書き換えました。 (前略) <form name="form1" action="javascript:goSearch()"> (中略) <input type="submit" name="Submit" value="検索"> </form> ポイントは form 要素の action 属性でスクリプトを起動するところですね。 本当は他にもいろいろ突っ込みどころはあるんですが、大概のブラウザではちゃんと動くので今回はサボっています。

shadowdragon
質問者

お礼

ご回答ありがとうございます。 なるほど。勉強になりました。 そして動作確認致しました!すっきりしました。 今後つっこみどころのないjavascriptでいけるよう勉強していきます。 この場を借りて皆様にお礼申し上げます。

その他の回答 (2)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2
shadowdragon
質問者

補足

ご回答ありがとうございます。参考になりました。 ただ、一括検索ではなくドロップダウンリストからエンジンを選択して検索する方法を模索しています。 このFAQを参考にカスタマイズを試みてみます。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.1

うーん、やっぱりソースを見てみないことには……。 ということでソースを補足してください。

shadowdragon
質問者

補足

ありがとうございます。 自分自身の質問には補足できないのは知らなかったです…。 以下ソースです。 <script language="JavaScript"> function goSearch(str){ var e; var site01 = "http://www.yahoo.co.jp"; var site11 = "http://search.yahoo.co.jp/bin/search?p="; var site02 = "http://www.google.com"; var site12 = "http://www.google.com/search?lr=lang_ja&q="; if (document.form1.engine[0].checked == true) { if (document.form1.search_string.value == "") { e = site01; } else { e = site11 + document.form1.search_string.value + "&fr=yssw&ei=SJIS"; } } else { if (document.form1.search_string.value == "") { e = site02; } else { e = site12 + document.form1.search_string.value + "&ie=ShiftJIS&oe=ShiftJIS"; } } window.location.href = e; } </script> <form name="form1"> <input type="radio" name="engine" value="p"> <a href="http://www.yahoo.co.jp/"> Yahoo!Japan</a> <input type="radio" name="engine" value="q" checked> <a href="http://www.google.co.jp"> Google</a> <input name="search_string" type="text" id="search_string" size="30"> <input type="button" name="Submit" value="検索" onClick="goSearch()"> </form> 尚、いろいろと試行錯誤したら文字化けは解消しました! 残るはSubmitでの送信のみです…。 ご教授いただければ幸いです。 よろしくお願い致します。

関連するQ&A

  • 検索窓の設置について

    自身のHP上に検索窓を設置していますが キーワードの入力域は一つでボタンによってサーチエンジンを変えています。 HPの文字コードはEUC-JPで作成しているのですが サーチエンジンの中にEUC-JPに対応していないものがあり、入力したキーワードを認識してくれません。 構造としては htmlで<form action=******.cgi method="GET">として ******.cgiでボタンによってサーチエンジンを振り分けています。 jocde.plでのコンバートも上手くいってないようなので 他に方法があれば教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • 検索フォームから、同時に複数のサーチエンジンを検索する方法

    自分のページに検索フォームを作って、検索語を入力してボタンを押すと、同時に複数のサーチエンジンで検索を行い、結果をそれぞれ別のウィンドウを開いて(或いはフレームで)表示させる、といったことをしたいのですが、参考になるページをご存知の方は教えてください。 チェックボックスでエンジンを選ぶタイプや統合型のメタサーチのページは見つかるのですが、ボタン→同時検索、個別に結果を表示する、といったページを見つけられません…

  • 検索エンジンの不思議

    検索エンジンを利用していて不思議に思ったことです。 基本的な使い方として、とりあえず知りたいことのキーワードを入力し、ほしい情報が得られず、検索結果の幅が広すぎるとき、キーワードを追加して”絞り込む”ことが多いと思います。 キーワード1で検索すると、キーワード1がはいっているサイトが表示され、 キーワード1&キーワード2で検索すると、キーワード1かつキーワード2が入っているサイトを表示するのだと思います。しかし、 javaとグーグルで検索すると約 676,000,000 件でした。 しかし、JAVAscriptと検索すると約 1,650,000,000 件 のヒットがありました。 なぜ、キーワードが増えているのにヒット数が上がるのでしょうか? ※ちなみに、JAVAとJAVAscriptが別物なことは知っています。

  • 携帯向けサイトに検索ボックスを設置したい

    携帯向けサイトに検索ボックスを設置したい ホームページビルダーで携帯向けサイトを作っていて、検索ボックスを設置したいと考えております。 google検索ボックスを設置しようと下記のタグをメモ帳に貼ってアップロードしたところ、きちんと表示されるのですが、日本語で入力→検索ボタンを押すと検索ワードが文字化けしてしまいます。英数字のみだと検索可能です。 Google AdSenseを設置している関係で、レンタルサーバー、トップページはindex.phpです。どのようにすれば回避出来ますか? <img style="vertical-align:middle;" src="http://www.google.com/mobile/images/pb_google.gif" alt="Google" width="124" height="24"/><div><form action="http://www.google.co.jp/m/search"><div><input name="mrestrict" value="xhtml" type="hidden"/><input name="client" value="ms-googlefree" type="hidden"/><input name="safe" value="off" type="hidden"/><input name="channel" value="aHR0cDovL3NhaXRhbWEuNzAzLmpwLw.." type="hidden"/><input name="q" size="15" maxlength="2048" value="" type="text"/><br/><input style="font-size:smaller; margin-bottom:1px;" type="submit" value="Search"/><br/></div></form></div>

    • ベストアンサー
    • PHP
  • テキスト入力でYahoo!の検索エンジンが作成できない。

    毎日コミュニケーションズのFlash入門書 『おしえて!!FLASH MX2004』の 9-5(P148,P149)にある テキスト入力で検索エンジンの 作成方法についての質問です。 テキスト入力でテキストボックスを作った後、 「テキスト入力」フィールドが選択された状態で、 プロパティインスペクタ右下の「変数:」欄に、 Googleの変数名「q」を入れた後 ボタンを作成して下記のスクリプトを書きました。 on (release) { this.getURL("http://www.google.co.jp/search", "_blank", "GET"); } 作成したものに適当なキーワードを入力して ボタンを押すとネットに接続し検索エンジンの 結果が表示されました。 (↑ここまでが本に書いてあったことです。) これの応用でYahoo!の変数名「p」を入れた後 ボタンを作成して下記のスクリプトを書きました。 on (release) { this.getURL("http://search.yahoo.co.jp/bin/search", "_blank", "GET"); } しかし、半角英数字の検索はできたものの (※gooや19などの検索は可能) 日本語の検索はなぜか文字化けして できませんでした。 (※教えて!gooと入力すると  『謨吶∴縺ヲ・“oo』のように文字化けする。) おそらく変数に問題があると思われるのですが 私には問題を解決することができませんでした。 どなたかご存知の方がいらっしゃいましたら よろしくお願いします。

    • ベストアンサー
    • Flash
  • 異ページキーワード検索エンジン

    YahooやGoogleといった検索エンジンは複数キーワードを入力した ときに同じHTMLページ内で複数キーワードがヒットしたかを みますよね。そうではなくて例えばAというキーワードが多いAページ とBというキーワードが多いBページがあってA,Bで検索したときに そのページのホームページアドレスは検索されるような検索 エンジンは存在しないでしょうか。知ってらっしゃる方が いましたら教えて下さい。

  • 検索ボックスの文字を消したい

    現在ホームページ(VB2005で作った自作のブラウザのトップページで使うため)をHTMLで作っております。 検索エンジンをのせ、検索も上手くいくのですが、検索後、「戻る」ボタンで戻った後の検索ボックス?(検索したい単語を入力するもの)に文字が残ったままになってしまいます。これを無くす方法を教えていただけないでしょうか?

  • 検索エンジン(CGI等)を探しています!

    新しくサイトを作るのですが、 その際に検索エンジンを設置する予定です。 その検索エンジンは 1)キーワード 2)カテゴリー 3)チェックボックス 4)新着一覧 5)更新一覧 の機能が付いているものがいいんです… どういうものかというと、 http://www.yumemaboroshi.net/search/ のようなものです。 無料ではやはり難しいでしょうか? 有料でも金額によっては検討と思っています。 いろいろと探してみましたが、 なかなかいい検索エンジンが見つからなかったので もし知ってみえる方がいたら教えてください><

    • ベストアンサー
    • CGI
  • WindowsXP SP2 IE7.0でGoogleツールバーを使っています。

    WindowsXP SP2 IE7.0でGoogleツールバーを使っています。 カスタムボタンで「楽天」や「Amazon」「Yahoo!オークション」を追加しているのですが、 楽天ボタンで検索したときだけ、検索キーワードが文字化けしてしまいます。 例えば、「楽天市場」と入力して検索すると、 検索キーワードが「罐遵ぉ絽〓〓」と文字化けして、 正しく検索できません。 「Amazon」や「Yahoo!オークション」は正しく検索キーワードの 値を引き継いでくれるのですが、楽天だけなぜおかしくなるのでしょうか?

  • 検索エンジンの使い方

    検索エンジンに入力したキーワードが記録されていつまでも表示されます。キーワードの消し方を教えてください。

専門家に質問してみよう