プロが教えるわが家の防犯対策術!

プルダウンから別ウィンドウを開く方法

jsで管理しているプルダウンメニューの一部を
別ウィンドウで表示させたいのです。

下記の000.htmlをblankで表示させたい場合
どのような記述になるのでしょうか?
どうぞよろしくお願いします。


function launch_report(obj) {
var location = obj.options[obj.selectedIndex].value;
if (location) {
top.document.location.href = location;
}
}
function shouhin() {
document.open();
document.write("<select name=\"hoge\" size=\"1\" class=\"form\" onChange=\"launch_report\(this\)\">");
document.write("<option value=\"000.html\">メニュー");
document.write("</select>");
document.close();
}

A 回答 (3件)

No.1さんのおっしゃるように条件分岐してwindow.openを使えばいいのでは?



if(location === "000.html") {
window.open(location); //その他オプションはご自由に
} else {
top.document.location.href = location;
}
みたいな感じで。
    • good
    • 0

リンク要素ならtargetを指定する方法もありそうですが、selectから開いているので、No1様のおっしゃるようにwindow.openを利用するのが一番簡単なのでは?



ご提示のソース限定で。
function launch_report(obj) {
var location = obj.options[obj.selectedIndex].value;
if (obj.selectedIndex) {
top.document.location.href = location;
} else {
window.open(location, "_blank");
}
}

でも、最初のオプションをどうやって選択するのだろうか?
    • good
    • 0

html部分がないので試していませんが、


location.hrefではなく、window.openを使ってはどうでしょうか?
window.open(location,'','');

この回答への補足

早速回答いただきありがとうございます!
ただ、別ウィンドウで表示させたいのは、000.htmlのみなのです。。
質問の仕方が下手で申し訳ありません。

↓のような感じで、全てが同ウィンドウで開くように
現在設定していますが、
000.htmlのみ別ウィンドウで開くようにリンクさせたいのです。
何度もすみませんが、ご回答をお待ちしています。


function launch_report(obj) {
var location = obj.options[obj.selectedIndex].value;
if (location) {
top.document.location.href = location;
}
}
function shouhin() {
document.open();
document.write("<select name=\"hoge\" size=\"1\" class=\"form\" onChange=\"launch_report\(this\)\">");
document.write("<option value=\"000.html\">メニュー");
document.write("<option value=\"002.html\">メニュー2");
document.write("<option value=\"003.html\">メニュー3");
document.write("</select>");
document.close();
}

補足日時:2010/08/28 14:25
    • good
    • 0

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