• 締切済み

Javascript

Javascript に関する質問です。 HTML にプルダウンメニューを設置し各ページに飛ばす際に、 別ウィンドウを開かせるようにするにはどうすればよいのでしょうか? 下記は Dreamweaver MX がはき出した Javascript です。 当方 Javascript に関してはほとんど素人です。どこに何を、どう書き換えてやればいいのか、どうか教えてください。 【Javascript】 <script language="JavaScript" type="text/JavaScript"> function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } </script> 【HTML側】 <select onchange="MM_jumpMenu('parent',this,0)" name=menu1> <option selected>-- 選択して下さい --</option> <option value="../1.html">home1</option> <option value="../2.html">home2</option> <option value="../3.html">home3</option> <option value="../4.html">home4</option> </select>

みんなの回答

回答No.3

こんにちわ。僕もjavascriptの初学者なので、参考になるかわかりませんが、これでどうでしょう。 html側のname = menu1を id = "menu1"に function MM_jumpMenu()は全部を書き換えました。 後は、”../1.html”の部分を飛ばしたいページのアドレスに入れかえればいいと思うのですが。 間違ってたらすみません。 【HTML側】 <select onchange="MM_jumpMenu()" id = "menu1"> <option selected>-- 選択して下さい --</option> <option value="../1.html">home1</option> <option value="../2.html">home2</option> <option value="../3.html">home3</option> <option value="../4.html">home4</option> </select> 【Javascript】 <script language="JavaScript" type="text/JavaScript"> function MM_jumpMenu(){ //v3.0 var select1 = document.getElementByName("select1"); var selectIndex = select1.selectedIndex; window.open(select1.options[selectIndex].value, 'newWindow', 'width=1000,height=1000'); }; </script>

回答No.2

Dreamweaverを使う場合は、 ビヘイビアの「URLに移動」ではなく「ブラウザウィンドウを開く」を使って下さい。 ソースはDreamweaverが行いますから、ユーザーが変更する必要はありません。 (変更するとDreamweaverを使って変更出来なくなる可能性があります) もし自分でJavaScriptを書くのであれば、Dreamweaverが作成したスクリプトを全て削除し、open()を使って下さい。

nextkitty
質問者

お礼

talooさん ありがとうございます。 【Javascript】 <script language="JavaScript" type="text/JavaScript"> function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } </script> 【HTML側】 <select onchange="MM_jumpMenu('parent',this,0)" name=menu1> <option selected>-- 選択して下さい --</option> <option value="../1.html">home1</option> <option value="../2.html">home2</option> <option value="../3.html">home3</option> <option value="../4.html">home4</option> </select> 上記のどの部分を変更すればよろしいのでしょうか? また、open()を使うにはどうするのでしょうか? 理由としては、リンク先がrefreshページでPDFにジャンプするようになっています。 _blankを使用しないと、戻ることができないので(2回戻るボタンを押す以外・・・) 誠に申し訳ございませんが、ご教授願います。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

たとえばこんな感じ。 <script language="JavaScript" type="text/JavaScript"> function popup(selObj){ window.open(selObj.value,"","width=400,height=300"); } </script> <form> <select onchange="popup(this)" name=menu1> <option selected>-- 選択して下さい --</option> <option value="../1.html">home1</option> <option value="../2.html">home2</option> <option value="../3.html">home3</option> <option value="../4.html">home4</option> </select> </form> 質問者さんのやりたいことは「ポップアップ」といって、 結構きらわれているやり方なので、十分に気をつけて運用してください。

nextkitty
質問者

お礼

yambejpさんありがとうございます。 追加なのですが・・・ ポップアップではなく、target="_blank"のようにあらたにすることは不可能なのでしょうか? 誠に申し訳ありませんが宜しくお願いいたします。

関連するQ&A

  • javaとフレーム

    同じ様な質問が以前あったのですが、その方法でも 構文が少し異なるようで、イマイチ判らず、 試したものの出来なかったので 改めて質問させて頂きます。 左にメニューを右にそのリンク先を表示させる場合、 <!-- function JumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </SCRIPT> </HEAD> <BODY> <FORM name="○○"> <SELECT name="menu1" onchange="JumpMenu('parent',this,0)"> <option selected>○○</option> <option value="page1.html">○○</option> 私がもらってきたサンプルではこういった 構文になってるのですが、どこに何を入れれば 良いのでしょうか? お願いします。

  • ホームページでJavascriptを使ったプルダウンメニューによる画面切替え

    ホームページでiframe内のページをプルダウンメニューを変更したいのですが、アンカーポイントでのプルダウンメニューのリンクではホームページを代える事は出来ないのですか? プルダウンメニューを行うとJavascriptエラーが起きて画面がリンク先になりません。 ○Javascriptの文 <SCRIPT language=JavaScript type=text/JavaScript> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </SCRIPT> ○iframeの文 <iframe src="report.html" name=if width="440" height="500" frameborder="0">iframeを使用しております。<br></iframe> ○プルダウンメニューの文 <FORM name=form1> <SELECT onchange="MM_jumpMenu('parent.frames[\'if\']',this,0)" name=menu1> <option value="report.html\#0008" selected>第8回目</option> <option value="report.html\#0007">第7回目</option> <option value="report.html#0006">第6回目</option> <option value="report.html#0005">第5回目</option> <option value="report.html#0004">第4回目</option> <option value="report.html#0003">第3回目</option> <option value="report.html#0002">第2回目</option> <option value="report.html#0001">第1回目</option> </select> </form> どこが悪いのか教えてください。分かる方いらっしゃいますか? 教えてください、お願いいたします。

  • ジャンプメニューをblankで開きたい

    いつもお世話になっております。 Dreamweaver8でホームページを作っております。 JavaScriptは初心者です。 ジャンプメニューを作り、メニューを別ウィンドウで開きたいと思いますがどうしたら良いのかわかりません。 いろいろと検索をして、以下を試作してみたのですが、別ウィンドウで開いたものの「選択してください」も同じようにリンク先がないにも関わらず別ウィンドウで開いてしまいました。 なんとかご教示願えませんでしょうか。 よろしくお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <script type="text/JavaScript"> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </script> </head> <body> <form name="form1"> <select name="select1" onChange="window.open(this.options[this.selectedIndex].value)"> <option selected>選択してください</option> <option value="aaa.html">aaa</option> <option value="bbb.html">bbb</option> <option value="ccc.html">ccc</option> </select> </form> </body> </html>

  • ジャンプメニューで target="_blank"を使うには

    下記ですがtargに'top'などではよいのですが、'_blank'で動かしたいのですが動いてくれません。??? function menujump_flm(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; }

  • リストボックスからジャンプさせた後のフォーカス

    リストボックスで選択してURLに飛ばしていますが、元のページのリストボックスのアイテムが選択状態になっていているので、そのフォーカスをなくすにはどうしたらいいでしょうか。 function menujump_flm(targ,selObj,restore){ if(targ=="_blank"){ window.open(selObj.options[selObj.selectedIndex].value,"_blank"); } else { eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); } [selObj.selectedIndex].value+"'"); } <select name="sl" onChange="menujump_flm('_blank',this,1)"> <OPTION value="***">文書1</OPTION> <OPTION value="***">文書2</OPTION> <OPTION value="***">文書3</OPTION> </SELECT>

  • JavaScriptのプルダウン

    プルダウンメニューの中から選択したページへジャンプするようにしたいのですがわからないところがあるので教えてください。 TOPページはframesetでmenu、TOP2の上下に分かれています。プルダウンメニューはmenuのページに置き、選択したページを表示するのは下のTOP2の部分に表示させたいんです。 下記のように記述したのですがこのままだとジャンプしたページはmenuに表示されてしまいます。 -------------------- <script Language="JavaScript"> <!-- function popJump(selOBJ) { n = selOBJ.selectedIndex; location.href = selOBJ.options[n].value; } // --> </script> </head> <body> <form> <select onChange="popJump(this)"> <option value="#">選択して下さい <option value="top2.htm">トップページ <option value="A.htm">A <option value="B.htm">B </select> </form> -------------------- <option value="A.htm">のところでTOP2へジャンプするように指定するのだと思うのですが その方法がいろいろ調べてみたのですがわかりません。 わかる方、アドバイスをお願いします。

  • 携帯プログラムについて

    携帯サイトでプルダウンメニューの各項目にリンクしたいのですがわかりません。 <HTML> <HEAD> <TITLE></TITLE> <script Language="JavaScript"> <!-- function popJump(selOBJ) { n = selOBJ.selectedIndex; location.href = selOBJ.options[n].value; } // --> </script> </HEAD> <BODY> で行うと WEBでは飛びますが 携帯サイトでは飛びません。 アドバイスお願い致します。

  • JAVASCRIPT等での フレーム間の リンクについて。

    いつも、お世話になっております。 現在、フレームを使ったホームページを作成中です。 左側に目次のようなフレームをつくり、JAVA Scriptを使って、ドロップダウンメニューで、項目を選択が出来る状態にして、選択をした場合、その項目ページを親フレームに表示したいのですが、JAVA SCRIPTの使い方が よくわかっていない為、どうしても、左側のページに、リンクさせたいページが 現れてしまいます。 もしも、親フレームに飛ばす事が出来なければ、新しいフレーム、または、ウィンドウ表示を解除してもいいと思っているのですが、どなたか、お分かりになる方、教えて下さい。御願い致します。  この場合、 <script Language="JavaScript"><!-- function popJump(selOBJ) { n = selOBJ.selectedIndex; location.href = selOBJ.options[n].value; }<target=_blank> // --></script> </head> <body bgcolor=aquamarine> <form> <select onChange="popJump(this)"> <option value="飛びたい項目のページ.html"> …… どこに、target="_parent"を挿入すれば 宜しいのでしょうか。 いろいろと試したのですが、間違っていますと言う風に デバッグ表示がでてきます。 ちなみに、HTMLを使っている所は、ちゃんと、親フレームに飛んでくれている状態です。 もしも、JAVA SCRIPTを使わないで、ドロップダウンで、項目を5つほど選べる状態にできるならば、他の言語でも、OKですので、宜しく御願い致します。

  • javascriptでの2つのプルダウンメニューの初期値

    下記の2つの連動するセレクトメニューで最初の国名のプルダウンで「日本」を選択、次の都市名のプルダウンで「東京」を選択し、 その後ブラウザの戻るボタンで戻り後、再びページを表示させたり、または入力内容確認画面へ進みjavascriptのonclick="history.back()"で入力ページ(下記スクリプト記述ページ)に戻ると1つ目の国名のメニューは日本が表示されていますが、2つ目の都市名のメニューが空白になってしまいます。 そのため、都市名のプルダウンで東京を表示させるには、1つ目の国名のプルダウンを一度日本以外にしてから再度日本に表示させるといった動作が必要になってしまっています。 そこで、都市名のメニューを空白にさせずにそのまま表示させるように色々調べたのですが、解決策がありませんでした。 そこで、せめて両方のプルダウンともに「国を選択して下さい」にした状態にはできないかと考えております。 何か良い方法がありましたらば教えて頂けませんでしょうか? <html> <head> <script type="text/javascript"> window.onload = function(){ document.getElementById("selMain").onchange = function(){ var selNo = this.selectedIndex; var selObj = document.getElementById("selSub"); var optionData = [ ["国名を選択してください,"], ["東京,tokyo","大阪,osaka","名古屋,nagoya"], ["ニューヨーク,ny","ロサンゼルス,la"] ]; var i, tmp = []; while(selObj.hasChildNodes()) { selObj.removeChild(selObj.firstChild); } for (var i=0; i<optionData[selNo].length; i++){ tmp = optionData[selNo][i].split(","); selObj.options[i] = new Option(tmp[0], tmp[1]); } } } </script> </head> <body> <form action="./enq.cgi" method="get" id="mainForm" name="mainForm"> <select id="selMain"> <option value="" selected>国を選択してください</option> <option value="jp">日本</option> <option value="usa">アメリカ</option> </select> <select id="selSub"> <option value="">国を選択してください</option> </select> </form> </body> </html>

  • セレクトメニューで選択された項目に応じて、別のセレクトメニューの内容を変更する場合について

    アドバイスお願いします。 ページロード時、最初ののセレクトメニューは「国を選択してください」が選択された状態となりますが、次のセレクトメニューが空白になってしまいます。 これを最初のメニューと同じく「国を選択してください」と表示させるには、どうしたらよろしいでしょうか? 【HTML】 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>JavaScript</title> <link rel="stylesheet" type="text/css" href="main.css" media="all"> <script type="text/javascript" src="main.js"></script> </head> <body> <form action="./enq.cgi" method="get" id="mainForm" name="mainForm"> <select id="selMain"> <option value="">国を選択してください</option> <option value="jp">日本</option> <option value="usa">アメリカ</option> </select> <select id="selSub">国を選択してください</select> </form> </body> </html> 【main.js】 window.onload = function(){ document.getElementById("selMain").onchange = function(){ var selNo = this.selectedIndex; var selObj = document.getElementById("selSub"); var optionData = [[ ],[ { text:"東京", value:"tokyo"}, { text:"大阪", value:"osaka"}, { text:"名古屋", value:"nagoya"} ],[ { text:"ニューヨーク", value:"ny"}, { text:"ロサンゼルス", value:"la"} ] ]; while(selObj.hasChildNodes()) { selObj.removeChild(selObj.firstChild); } for (var i=0; i<optionData[selNo].length; i++){ selObj.options[i] = new Option(optionData[selNo][i].text, optionData[selNo][i].value); } } } また、質問にありますようなセレクトメニューを実装する場合、JavaScriptとAJAX、どちらが適したものと言えるのでしょうか?

専門家に質問してみよう