• ベストアンサー

サブウィンドウに変数を渡す方法・・・

ブウィンドウを開く時に親ウィンドウからフォームの値を変数として渡し スプリクトを実行したいのですがやり方が解りません。 どなたか教えて頂けませんでしょうか? 下記のソースだとうまくいきません newWin = window.open("xxx.php3","SubWindow","left=400,top=100,width=300,height=400");

質問者が選んだベストアンサー

  • ベストアンサー
  • xruz
  • ベストアンサー率50% (72/143)
回答No.3

こんにちはsumomo0423さん、xruzです。 >受け取った変数をパラメタとしてスプリクト(php)を実行して処理結果を表示させるには なるほど。。。そうですか?? こんな感じですか? 子[mvval2.html] <html> <head> <title></title> </head> <script language="JavaScript"> <!-- function st() { // 値転送後サブのsubmitを実行 document.f2.submit(); } //--> </script> <body onLoad="opener.sendVal(document.f2);st();"> <form action="****.php" method="post" name="f2"> <input type="text" name="t2"> </form> </body> </html> たぶん(?)これでいいはずなんですが、がんばってくださいね(~:~i

sumomo0423
質問者

お礼

おぉ~! 出来ました! 完璧です。 ありがとうございました。 便乗で申し訳ないですがこっちの質問も見ていただけますか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=169048 よろしくお願いします。

その他の回答 (2)

  • xruz
  • ベストアンサー率50% (72/143)
回答No.2

こんにちはsumomo0423さん、xruzです。 こんな感じでしょうか? 親[mvval1.html] <html> <head> <title>oya</title> </head> <script language="JavaScript"> <!-- function winOpen() { // サブを開く var wid=window.open("mvval2.html","SubWindow","left=400,top=100,width=300,height=400"); } function sendVal(f2) { // サブへ転送 f2.t2.value=document.f1.t1.value; } //--> </script> <body> <form method="post" name="f1"> <input type="text" name="t1"> <input type="button" value="open" onClick="winOpen();"> </form> </body> </html> 子[mvval2.html] <html> <head> <title></title> </head> <script language="JavaScript"> <!-- function st() { // 値転送後サブを実行 alert(document.f2.t2.value); } //--> </script> <body onLoad="opener.sendVal(document.f2);st();"> <form method="post" name="f2"> <input type="text" name="t2"> </form> </body> </html> がんばってくださいね(~:~i

sumomo0423
質問者

補足

xruzさん、ご回答ありがとうございます。 おかげさまでだいぶ解ってきました。 もう少し教えてください。 サブウィンドウを開いた時点で受け取った変数をパラメタとしてスプリクト(php)を 実行して処理結果を表示させるにはどうしたらよいでしょうか?

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

意外と、悩ましいんですよね、これ。私も経験あります。 一旦、空白のウィンドウを開いておいて、それをターゲットにして submit すれば良いです。 雰囲気は、こんな感じ。 function do_submit(form) { window.open("about:blank","SubWindow","left=400,top=100,width=300,height=400"); form.submit(); } <form target="SubWindow" onSubmit="do_submit(this)"> ... この問題に関係の無いところは省略してあります。また、試してないので、細かい ところが間違っている可能性があります。

sumomo0423
質問者

補足

a-kumaさん、ご回答ありがとうございます。 回答内容は理解出来ました。 質問内容を補足させていただきますと、 今回やろうとしているのはsubmit時のアクションではなく フォーム内に補助画面表示ボタンを押された場合のアクションです。 この場合の対応方法はご存知でしょうか? よろしくおねがいします。

関連するQ&A

  • サブウィンドウを常に最前面に表示する

    お世話になります、 現在JavaScriptの勉強をしているのですが、以下の問題に突き当たり困っています。 問題1. popup = window.open("subWindow.html","subWindow",'width=200,height=400,scrollbars=1,left=50,top=50, dependent=yes'); メソッドによって表示したウィンドウを常に最前列に表示する方法をご存知の方いらっしゃったら教えていただきたいのですが。 親画面をクリックするとSubWindowが親画面の下に隠れてしまい困っています。 よろしくお願いします

  • サブウィンドウに背景色をつけたいのですが・・・

    今仕事でホームページを初めて作成しています。 そこで、30秒程度したら自動的に消えるサブウィンドウを作成したのですが、背景色がぜんぜんつきません。 いったいどこに、背景色のスクリプトを表示したらいいのですか。教えてください。 初心者でわからないので、全部のせてしまいました・・・ 要領わるくてすいません。 function createSubWindow() { subWindow = window.open("","SubWindow","width=370,height=220"); subWindow.document.writeln("<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=Shift_JIS'>"); subWindow.document.writeln("<HTML>"); subWindow.document.writeln("<HEAD>"); subWindow.document.writeln("<TITLE>Whata's New?</TITLE>"); subWindow.document.writeln("<SCRIPT LANGUAGE='JavaScript'>"); subWindow.document.writeln("<!--"); subWindow.document.writeln("function setTimer() {"); subWindow.document.writeln("window.setTimeout('window.close()', 30 * 1000);"); subWindow.document.writeln("}"); subWindow.document.write ("//--"); subWindow.document.writeln(">"); subWindow.document.writeln("</SCRIPT>"); subWindow.document.writeln("</HEAD>"); subWindow.document.writeln("<BODY onLoad='setTimer()'>"); subWindow.document.writeln("</BODY>"); subWindow.document.writeln("</HTML>"); subWindow.document.close(); } function closeSubWindow() { if(!subWindow.closed) { subWindow.close(); } } //--> </SCRIPT>

  • window,open

    ★=window.open("▲","☆","■") で★と☆がウィンドウの名前と書いてあったのですが 区別がわかりません これは開いたウィンドウの名前なのでしょうか? それともこのスクリプトがあるウィンドウをさすのでしょうか? あとウィンドウの名前のつけ方も教えていただけたら うれしいです 具体的には newWin=window.open("control,html","newWIn","width =240.height=120"); と書いてありました

  • <Dw>新しいページの作成方法<html>

    親ページがあり、開く子ページをxxx.htmlとyyy.htmlとします。 <a href="javascript:void(0)" onClick="window.open('xxx.html', 'newwin','width=520,height=250')"> xxxページが開きます</a> これでクリックするとxxx.htmlが開くには開くんですが、親ページに戻ると、(親ページをアクティブにする)xxxページは親ページの後ろに隠れてしまいました。そこでもう一度リンクをクリックしても、xxx.htmlはアクティブになりません。親ページをずらさないと見えないのです。 次に、 <a href="javascript:void(0)" onClick="window.open('yyy.html', 'newwin','width=520,height=250')"> yyyページが開きます</a> クリックすると、yyy.htmlが開きません。 ・・・と思ってよく見たら、親ページの後ろに隠れていた、先ほど開いたxxxページがyyyページに切り替わっていました。 そこで質問なんですが、 1.xxxとyyyを別々のウィンドウで開きたい。 2.一度開いたページでも、リンクをクリックしたら隠れていたページがもう一度表示されるようにしたい。 jsでなくとも、問題がなければ方法は問いません。 博識な方、お返事どうぞよろしくお願い致します。

  • 画像の別ウィンドでの拡大表示をやりたいが・・・

    Kootsukiと申します。 初めて質問させていただきます。 javascriptを勉強しはじめたものです。 ブログで画像の別ウィンドでの拡大表示をやりたくjavascriptでfunctionを定義しました。しかし、エラーになってしまいうまくいきません。どなたか原因を教えていただけないでしょうか。 まずhtmlは以下です。 <img src="http://...AAAAs.jpg" onclick="largeImage(this)"> 次にfunctionの定義は以下です。 ブログ上のサムネール画像をクリックしたときには、lergeImageで900×675のウィンドゥを開き、そこにオリジナル画像を100%縮小(?)で表示します。同時に画面の左上に拡大マーク画像を表示し、そこがクリックされたら同じウィンドゥを使って縮小なしで再表示しようと思っています。しかし、拡大マーク画像をクリックすると、ランタイムエラー:行番号0で「オブジェクトを指定してください」とランタイムエラーになってしまいます。どこがおかしいのでしょうか。よろしくお願いします。 <script type="text/javascript"> <!-- var lisrc = ""; function largeImage(img){ var objImg = new Image(); objImg.src = img; var img_wh_hi = objImg.height / objImg.width; var base_wh_hi = 675 / 900; img.src.match(/^(.+)s\.([^\.]+)$/); lisrc = RegExp.$1 + "." + RegExp.$2; newWin = window.open("","","top=10,left=10,width=900,height=675,scrollbars=yes").document; newWin.open(); newWin.write('<html><head><title>拡大画像<\/title><style type="text/css"><!-- body {padding:0;margin:0;text-align:center;} #blank {position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;} --><\/style><\/head>'); newWin.write('<body>'); newWin.write('<p><img src="' + lisrc + '" width="100%" onClick="window.close()"alt="クリックするとウィンドゥを閉じます。"><img src="http://blog-imgs-19.fc2.com/....../kakudai.jpg" onClick="maxImage()" alt="さらに拡大" style="position:absolute; top:10px; left:150px; z-index=2"><\/p>'); newWin.write('<\/body><\/html>'); newWin.close(); } function maxImage(){ newWin = window.open("","","top=10,left=10,width=900,height=675,scrollbars=yes").document; newWin.open(); newWin.write('<html><head><title>拡大画像<\/title><style type="text/css"><!-- body {padding:0;margin:0;text-align:center;} #blank {position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;} --><\/style><\/head>'); newWin.write('<body>'); newWin.write('<p><img src="' + lisrc + '" onClick="window.close() alt="クリックするとウィンドゥを閉じます"><\/p>'); newWin.write('<\/body><\/html>'); newWin.close(); } // --> </script>

  • 外部JSでサブウィンドウを設定する場合

    サブウィンドウの設定についてご質問いたします。 親ウィンドウの中の画像をクリックしてサブウィンドウを開くと言う設定をしたいのです。 親ウィンドウにある画像は2つでそれぞれ開くサブウィンドウの大きさは異なります。 まずsample.jsを作り function subopen1(){ window.open("××.html","subwin1", "width=450,height=450,toolbar=no,scrollbars=no,left=15,top=5") } function subopen2(){ window.open("××.html","subwin2", "width=500,height=450,toolbar=no,scrollbars=no,left=15,top=5"); } と記述しました。 そして<HEAD>~</HEAD>に <script type="text/javascript" src="sample.js"></script> 続いて<BODY>~</BODY>には <A href="javascript:subopen1()"><IMG src="××1.gif" width="100" height="120" alt="Click"></A> <A href="javascript:subopen2()"><IMG src="××2.gif" width="100" height="120" alt="Click"></A> と記述したのですが 「オブジェクトを指定して下さい」とエラー表示され実行出来ません。 上記に修正箇所があったら教えて下さい。 又別な方法でも構いませんのでサブウィンドウの設定が出来れば教えて頂きたいと思います。 どうか宜しくお願い致します。ペコ↓m(_ _;)m↓ペコ

  • ブラウザサイズをフルサイズで表示させる方法

    ブラウザにタイトルバーとスクロールバーとスタートバー以外を表示しないページを作成したいのですが、 XPはOKで、WIN98でうまくいきませんでした。リンク先をクリックすると別ウィンドウが立ち上がる仕組みです。画面サイズに合わせて変わるようなのですが、WIN98では、スクロールバーが途中で切れてしまい、 一番下まで、綺麗に表示できませんでした。これ以外の方法でもかまいませんので、どなたかご伝授いただければと思います。 function wopen(url){ if(screen.width <= 640){ window.open(url,"_blank","resizable=no,menubar=no,status=yes,location=no,scrollbars=yes,toolbar=no,width=640,height=480,left=0,top=0") }elseif(screen.width <= 800){ window.open(url,"_blank","resizable=no,menubar=no,status=yes,location=no,scrollbars=yes,toolbar=no,width=800,height=600,left=0,top=0") }else if(screen.width <= 1024){ window.open(url,"_blank","resizable=no,menubar=no,status=yes,location=no,scrollbars=yes,toolbar=no,width=1024,height=768,left=0,top=0") }else if(screen.width <= 1152){ window.open(url,"_blank","resizable=no,menubar=no,status=yes,location=no,scrollbars=yes,toolbar=no,width=1152,height=864,left=0,top=0") }else if(screen.width <= 1280){ window.open(url,"_blank","resizable=no,menubar=no,status=yes,location=no,scrollbars=yes,toolbar=no,width=1280,height=1024,left=0,top=0") }else{ window.open(url,"_blank","resizable=no,menubar=no,status=yes,location=no,scrollbars=yes,toolbar=no,width=1600,height=1240,left=0,top=0") } return; } : <A href="javascript:wopen('/index.html')">

  • 小ウインドウのスクロールバー

    小さいウインドウを出してメニューを作ろうと思っています そこで、早速作ってみたところ、小さいウインドウにはスクロールバーがありませんでした 小ウインドウには、スクロールバーは表示できないのでしょうか? 表示させる方法がありましたら、教えて下さい ちなみに、小ウインドウは下記のようにしています <SCRIPT LANGUAGE="JavaScript"> <!-- function subopen(){ subwin=window.open("menu.html","subwindow","width=290,height=185") } function subclose(){ subwin=window.open("","subwindow","width=290,height=185") subwin.close() } // --> </SCRIPT>

  • 以前画面100%表示できる方法を教えてもらったものですが、・・・

    以前画面100%表示できる方法を教えてもらったのですが、最近になって困ったことになりました。 それは、あっちこっちで確認をしましたところ、実はMACでは何ともなかったものの、Winのパソコンで変な場所に大体正確にではありませんが、画面端から約100×100の位置に出てしまうパソコンが何台かあるのに気が付きました。 ソースを書きます。 <SCRIPT language="JavaScript"> <!-- function newWin(){ w = screen.availWidth ; h = screen.availHeight ; window.open("op_01q.html","newWin","width="+w+",height="+h) ; window.moveTo(-1,-1) ; } //--> </SCRIPT> で、できるとは思いますが、何か足りないのか分かりません。 どうか宜しくお願いします。

  • 小ウィンドウを表示させる方法

    Dreamweaver OR Javascript で教えて下さい. リンクではなくて、クリックすると小ウィンドウを表示させるという事をやりたいのですが、Dreamweaver解説書に書いてあるとおりにやってもなぜかうまく行きません. Headに<!-- function MakeChildWindow() { window.open("dentakuwindow.htm","","50","50"); } function MM_callJS(jsStr) { //v2.0 return eval(jsStr) } //--> Bodyの小ウィンドウを作りたいところは <a href="#"><img name="red" src="red.gif" width="109" height="31" border="0" onMouseOver="MM_swapImage('red','','red_f2.gif',1)" onClick="MakeChildWindow()"> といった形になっていまして、 最初サイズが指定できていなかったので window.open("dentakuwindow.htm","","width=50,height=50"); にしたらサイズを指定して小ウィンドウを出せたのですが,どうしても表示させたいhtmlファイルが出てきません. ちなみに、 window.open("\Subwindow\dentakuwindow.htm","","width=50,height=50"); と入力して実行させて見ましたがやっぱりファイルが見つかりませんになってしまいました. "dentakuwindow.htm"はFream\Subwindowの中にあり、ローカルサイトに設定しているのはFream\までです。

    • ベストアンサー
    • CSS

専門家に質問してみよう