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

こんばんは。プログラム初心者ですが、よろしくお願いいたします。

現在、下記のスクリプトを書いておりますが、これを「新ウィンドウを開いて、そこに移動させる」にはどうしたらよいのでしょうか。

大変恐縮ですが、初心者ですので、下記を修正していただければ幸甚です。

<FORM name="form"><SELECT name="test">
<OPTION selected>リンク先を選ぶ</OPTION>
<OPTION value="http://○○○.html">○○○</OPTION>
<OPTION value="http://◎◎◎.html">◎◎◎</OPTION>
<OPTION value="http://●●●.html">●●●</OPTION>
</SELECT>
<INPUT type="button" onclick="location.href=form.test.options[form.test.selectedIndex].value" name="button" value="移動"></FORM>

なお、<FORM name="form">を<FORM target="blank" name="form">にしてみましたが、新ウィンドウは開かず、元のウィンドウのまま移動しました。

お手数ですが、よろしくお願い申し上げます。

A 回答 (2件)

<script type="text/javascript">


function jump(){
l=document.form.test.options[document.form.test.selectedIndex].value
if(l==1)url="http://○○○.html";
if(l==2)url="http://◎◎◎.html";
if(l==3)url="http://●●●.html";
window.open(url,"blank");
}
</script>

<FORM name="form"><SELECT name="test">
<OPTION selected>リンク先を選ぶ</OPTION>
<OPTION value="1">○○○</OPTION>
<OPTION value="2">◎◎◎</OPTION>
<OPTION value="3">●●●</OPTION>
</SELECT>
<INPUT type="button" onclick="jump()" value="移動"></FORM>

とすれば、ご希望は叶うと思います。
    • good
    • 0
この回答へのお礼

okmotokun様、さっそくご回答いただき、ありがとうございました。
さっそく試させていただきましたが、無事に動きました。
本当にありがとうございます。

ただ初心者の私には応用力がなく、下記のような問題が新たに起きてしまいました。

実は、1ページに複数のドロップダウンリスト(もちろん異なるURLにリンクされています)のFORMを置きたいのですが、エラーになってしまいます。

質問時の方法では、下記のように通し番号をふりますと、1ページにいくつでもFORMを置くとができました。
<FORM name="form1"><SELECT name="test1">
<FORM name="form2"><SELECT name="test2">

ところが今回、この方法は通用しなかったようです。

どうすれば1ページに複数のドロップダウンリストFORMを置き、そこから新ウィンドウを開くことができるのでしょうか。

重ね重ね恐縮ですが、ご教示いただけると、大変ありがたく思います。
よろしくお願いいたします。

お礼日時:2008/08/27 08:57

formに名前をつけて管理するのはやめた方がいい


こんな感じでやってみるとよいのでは?

<script type="text/javascript">
function jump(url){
if(url=="") return;
window.open(url,"_BLANK");
}
</script>
<FORM>
<SELECT name="test">
<OPTION value="" selected>リンク先を選ぶ</OPTION>
<OPTION value="http://○○○.html">○○○</OPTION>
<OPTION value="http://◎◎◎.html">◎◎◎</OPTION>
<OPTION value="http://●●●.html">●●●</OPTION>
</SELECT>
<INPUT type="button" onclick="jump(this.form.test.value)" name="button" value="移動"></FORM>
    • good
    • 0
この回答へのお礼

yambejp様、さっそくご回答いただき、誠にありがとうございました。
すべて無事に動作いたしました。
本当に助かりました。ありがとうございます。

それにしても無駄のない、とても美しいスクリプトですね。
私のような素人が申し上げるのも僭越ですが、非常に感動いたしました。

今後ともお力添えいただけますよう、よろしくお願い申し上げます。

お礼日時:2008/08/27 10:36

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