プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。こんばんわ。
shadowdragonと申します。

皆様ご存知かと思いますが、この度Yahoo!Japanにおいて検索エンジンのシステムが大幅に変更されました。
参考:http://internet.watch.impress.co.jp/cda/news/200 …

これにより現在設置しているjavascriptでの検索ボックスが正常に動作しなくなりました。(文字化けを起こす)
恐らく文字コードがUTFになったからだとは思いますが、この文字コードの認識方法と言いますか、変換方法についてご教授いただけたら幸いでございます。
また、現在設置しているjavascriptを参考までに記載させていただきますので、むしろこっちのほうがいいだろ!的なご意見もありましたらぜひお願い致します。

簡単にまとめさせていただきます。
現象:Yahoo!での検索が文字化けを起こす
現状:慣れないjavascriptでYahoo!及びGoogleの検索エンジンをラジオボックスで選択し、キーワードを入力後、検索ボタンにて検索を行なっています。
希望:その1 Yahoo!での検索で文字化けを起こさないようにしたい
   その2 下記のソースだと検索ボタンのtypeがbuttonなため、キーワード入力後、検索ボタンを押さなければ検索されないため、できればtypeをsubmitにしたいのですが、それもうまくいきません…;;
(その2についてはできればで結構です)

※文字数オーバーのためソースは補足致します。

不備な点などございましたら、お申し付けください。
皆様お忙しいところ恐縮ではございますが、ご回答いただければ幸いです。

よろしくお願い致します。

A 回答 (3件)

とりあえず submit を使うように書き換えました。



(前略)
<form name="form1" action="javascript:goSearch()">
(中略)
<input type="submit" name="Submit" value="検索">
</form>

ポイントは form 要素の action 属性でスクリプトを起動するところですね。

本当は他にもいろいろ突っ込みどころはあるんですが、大概のブラウザではちゃんと動くので今回はサボっています。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど。勉強になりました。
そして動作確認致しました!すっきりしました。

今後つっこみどころのないjavascriptでいけるよう勉強していきます。

この場を借りて皆様にお礼申し上げます。

お礼日時:2005/10/04 18:28

この回答への補足

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

補足日時:2005/10/04 14:45
    • good
    • 0

うーん、やっぱりソースを見てみないことには……。



ということでソースを補足してください。

この回答への補足

ありがとうございます。
自分自身の質問には補足できないのは知らなかったです…。
以下ソースです。


<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での送信のみです…。
ご教授いただければ幸いです。

よろしくお願い致します。

補足日時:2005/10/04 14:47
    • good
    • 0

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