検索formで

[上に] [前に] [次に]
muy [E-Mail] 1998/11/10(火) 15:38:27
検索formでこのような物を使っているのですが
<form name="frmSearch" METHOD="POST" onSubmit="return OnSubmit(this)">
<INPUT TYPE=TEXT SIZE=28 NAME="txtWord" maxlength=150>
<SELECT NAME="selFind" Times New Roman;">
<OPTION VALUE=8>ここで選択してね!
<OPTION VALUE=2>goo
<OPTION VALUE=3>Yahoo! JAPAN
<OPTION VALUE=1>あちゃら NAVI
</SELECT>

<input type="submit" name="btnSearch" VALUE="Go!">
</form>

<SCRIPT LANGUAGE="JavaScript"><!---
var g_intEngine = 1;
function Search(g_intEngine, strSearchVal) {
var strURI;

if(g_intEngine == 1) {
strURI = ("http://webdew.rnet.or.jp/shallot/cgi-bin/ExtSearch1?KEY=" + strSearchVal + "&b=a&REFERER=MSN&CODE=SJIS");
} else if(g_intEngine == 2) {
strURI = ("http://www.goo.ne.jp/index.html?url1=%252Ftitle.html&url2=http%253A%252F%252Fwww.goo.ne.jp%252F&opt=3&_v=2&DC%25%26DE=2&MT=" + strSearchVal + "&SM=MC&WTS=ntt");
} else if(g_intEngine == 3) {
strURI = ("http://search.yahoo.co.jp/bin/searchm?r=msn&p=" + strSearchVal);
}

if(strURI != "" ) {
window.location.href = strURI;
return true;
} else if(strURI == "" ) {
alert("検索エンジンを指定してください");
}
}
function OnSubmit(Sendfrm) {
g_intEngine = Sendfrm.selFind.value;
strSearchVal = Sendfrm.txtWord.value;
Search(g_intEngine, strSearchVal);
return false;
}
//--></script>

このような物なのですが、
フレームページを使った時に検索結果を
新しいページを開いてそこに表示させたいのですが
指定〔変更〕したがよく分かりません。
どうか宜しくお願いします。

mura [E-Mail] 1998/11/10(火) 21:22:23
>if(strURI != "" ) {
>window.location.href = strURI;
>return true;
>} else if(strURI == "" ) {
>alert("検索エンジンを指定してください");

この部分のwindow.locationの行を以下のように変えれば
新しくウィンドウを作ってそこに表示します。

window.open(strURI, "searchwin", "WIDTH=600,HEIGHT=400");

引き数の2番目と3番目はわかりやすいように入れているだけですので省いても構いません。

(ウィンドウを作るのではなく)フレームを解除したい場合は
「window.location.href」を「top.location.href」にして下さい。

それと、
>g_intEngine = Sendfrm.selFind.value;

ここは、
g_intEngine = Sendfrm.selFind.options[Sendfrm.selFind.selectedIndex].value;
にしないとうちのNC4.07ではエラーになっちゃいます。

[上に] [前に] [次に]