- ベストアンサー
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についてはできればで結構です) ※文字数オーバーのためソースは補足致します。 不備な点などございましたら、お申し付けください。 皆様お忙しいところ恐縮ではございますが、ご回答いただければ幸いです。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず submit を使うように書き換えました。 (前略) <form name="form1" action="javascript:goSearch()"> (中略) <input type="submit" name="Submit" value="検索"> </form> ポイントは form 要素の action 属性でスクリプトを起動するところですね。 本当は他にもいろいろ突っ込みどころはあるんですが、大概のブラウザではちゃんと動くので今回はサボっています。
その他の回答 (2)
- todo36
- ベストアンサー率58% (728/1234)
補足
ご回答ありがとうございます。参考になりました。 ただ、一括検索ではなくドロップダウンリストからエンジンを選択して検索する方法を模索しています。 このFAQを参考にカスタマイズを試みてみます。
- UKY
- ベストアンサー率50% (604/1207)
うーん、やっぱりソースを見てみないことには……。 ということでソースを補足してください。
補足
ありがとうございます。 自分自身の質問には補足できないのは知らなかったです…。 以下ソースです。 <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での送信のみです…。 ご教授いただければ幸いです。 よろしくお願い致します。
お礼
ご回答ありがとうございます。 なるほど。勉強になりました。 そして動作確認致しました!すっきりしました。 今後つっこみどころのないjavascriptでいけるよう勉強していきます。 この場を借りて皆様にお礼申し上げます。