子ウィンドウに値を渡す方法とは?

このQ&Aのポイント
  • 子ウィンドウに値を渡す方法を具体的に教えてください。
  • 親ウィンドウのボタンをクリックするだけで、ウラにデータを引っ張ってきて子ウィンドウに表示する方法はありますか?
  • 質問者は子ウィンドウにデータを渡す方法について教えてほしいとしています。具体的な方法や参考URLを教えていただけると助かるとのことです。
回答を見る
  • ベストアンサー

子ウィンドウに値を渡したい

親ウィンドウ <form action="aaa.xxx" method="post" name="aaa"> 条件:<input type="text" name="joken"> <button onclick="子ウィンドウ開く"> </form> 親ウィンドウのbuttonをクリックすると、jokenをキーにウラでDBからデータを引っ張ってきます。それを、onclickで開いた子windowに表示する。 ということをやりたいのですが、1回ボタンを押すだけで、 ・ウラ(PHPです)にsubmitして、データを引っ張る ・子ウィンドウを開く ・子ウィンドウに引っ張ったデータを表示する という3つのことができるのでしょうか。 できるならば、恐れ入りますが、具体的に方法を示していただくか、 あるいは参考URLを教えていただけるととても助かります。 よろしくお願いします。

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

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

>欲を言えば、_blankで開いた後のサイズを指定したいですね。 >window.openの時のような。 じゃ、window.openでひらいてみてはどうでしょう? <form onSubmit="window.open('','nWin','width=400,height=300');" action="aaa.xxx" target='nWin' method="post"> <input type="text" name="test" value="hoge"> <input type="submit" value="hoge"> </form>

nyalio
質問者

補足

いい感じです´`b

その他の回答 (1)

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

あまりお勧めしませんが、<form target="_blank"> とすればサブミットしながら子ウィンドウが開きますね、 当然サブミット処理なので引っ張ったデータが表示されるでしょう しかしそれを子ウィンドウでやるべきかどうかは 判断がわかれるところだと思います

nyalio
質問者

補足

お見事です。 欲を言えば、_blankで開いた後のサイズを指定したいですね。 window.openの時のような。 なんにせよ、解決に近づいた感じです。 ありがとうございます。

関連するQ&A

  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • ウィンドウが閉じない

    フレーム付きの親ウィンドウから一つ子ウィンドウを生成し、その子ウィンドウ内のSubmitボタンのクリックするとメールを送信しその後、子ウィンドウ自身を閉じる動作をさせたいのですが、うまくいきません。 お助け下さい。 --------- 親ウィンドウ --------- window.open('kakunin.htm','CheckFrame'); ------------------------ --------- 子ウィンドウ --------- ~略~ function mailsub(){ window.close(); } --> </script> </head> <body> <div align="center"> <br><br> <META HTTP-EQUIV='Content-Type' CONTENT='text/html;CHARSET=Shift_JIS'> <form action="mailto:xxx@xxx.co.jp" method="post" enctype="text/plain" name="check">  <input type="submit" name="Submit" value="送信" onClick="mailsub()"> ~略~ ------------------------- これで子ウィンドウは閉じません。 オブジェクトを指定すればいいのかもしれませんが、親ウィンドウからの生成だとどうすればよいのかもわかりません。 よろしくお願い致します。

  • formでPOSTするのと同じ動作をボタンとjavascriptで実現したいのですが

    <form name="myFORM" method="POST" action="xxx.php"> <input type="text" name="NAME"> <input type="submit" value="送信"> </form> 上記と同じ動作を <button onclick="fpost('tanaka','POST','xxx.php')">送信</button> とjavascriptで実現したいのですが可能でしょうか? 可能でしたらどのようなスクリプトになりますでしょうか? document.myFORM.submit();とかではなく、formタグを全く使わずPOSTしページ遷移したいのですが。 XMLHttpRequestとlocation.replace()とかでできるのでしょうか?? すみませんがよろしくお願い致します。

  • formの送信ボタンクリック後、別ウインドウ表示

    お世話になります。 現在下記の指定でPDFを表示しています。 <INPUT type="submit" name="submit" value="送信" onClick="form.action='tcpdf/pdf.php';return true" class="button_order"> これをクリック後、別ウインドウでPDFを表示したいのですが、 onClick="form.action='tcpdf/pdf.php';return true"の部分を onClick="form.action='tcpdf/pdf_sample.php';target='_blank'"とかにしても うまくいきせん。 ボタンはもう一つあるので、 <INPUT type="submit" name="submit" value="戻る" onClick="form.action='201504_1_2.php';return true" class="button_re-selection"> 出来れば、送信ボタンのみの設定を別ウインドウ表示にしたいです。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • onClick="this.form.submit

    ・下記のようなformがあるのですが、 onClick="this.form.submit();" disabledの意味を教えてください ・クリックしたら、このフォーム内容を送信? ・アクション先も指定していないのに、処理はどこへいくのでしょうか? ・また、disabledは? ずっと押せない? <form name="hoge" method="POST"> <input name="hoge" type="button" class="button" value="piyo" onClick="this.form.submit();" disabled> </form>

  • 同じフォーム内で、押下するボタンによって、飛び先のページ(cgi)を変

    同じフォーム内で、押下するボタンによって、飛び先のページ(cgi)を変えたい。 例えば、 以下のように、同じフォーム内に2つのボタンを用意し、 片方のボタンをクリックすると、現在のページ(aaa.cgi)へ戻り、 もう片方のボタンをクリックすると、別のページ(bbb.cgi)へ飛ぶようにしたい。 なお、何れのボタンもサブミットしたい。 ↓(aaa.cgi)================================= : <form name="frm1" action="???" method="post"> <input name="t1" type="text"> <input name="t2" type="text"> : <input name="b1" type="button" onClick="submit();"> <input name="b2" type="button" onClick="submit();"> : </form> : ↑(aaa.cgi)================================= 良い方法はないでしょうか。 ご存知の方、ご教授ねがいます。 よろしくお願いします。  

    • ベストアンサー
    • Perl
  • フォームの「キャンセル」ボタンを押すと登録されてしまう…

    以下のようなフォームをつくっているのですが、どうもキャンセルを押すと登録されてしまいます。ごうしたらよいでしょうか? <form id='next' name='next' method='post' action='XXX.php'> <INPUT name='next' type='submit' id='next' value='登録する'> <INPUT type='button' value=' 戻る ' onClick='history.back()'> <INPUT name='cancel' type='submit' value='キャンセル' onClick='index.html'>

    • ベストアンサー
    • HTML
  • 複数ボタンのvalueを送れない

    ひとつのフォームで複数のボタンを使う方法を探していたら 次のような方法があるとのことでした。 <form method="post" name="MyForm"> <INPUT TYPE="BUTTON" VALUE="aaa" onClick="MyForm.action='hoge.cgi';MyForm.submit();"> <INPUT TYPE="BUTTON" VALUE="bbb" onClick="MyForm.action='hoge.cgi';MyForm.submit();"> </form> これで、ボタンによってVALUEを渡せるのかと思いきや、 飛んでいきませんでした・・・ 複数ボタンを用意して、ボタンによってその VALUE値を渡す方法がありませんでしょうか?

    • ベストアンサー
    • CGI
  • 子ウィンドウの操作

    処理概要:親ウィンドウからボタンクリック時にjavascriptのみで      子ウィンドウを作成し、遷移させた後、子ウィンドウの      フォームをサブミットする。 -------以下ソース-------- var url = "/index.html"; hWin=window.open("",""); window.hWin.location.href=url; setTimeout(a,10000); function a(){ window.hWin.document.form.submit(); // window.hWin.document.form.name.value = "住友"; // window.hWin.document.form.button1.click(); }  * index.html にはformというフォームがあり、nameという   テキストボックスとbutton1 というボタンをフォーム内に   持っているとします。 以上のような簡単なものですが、7行目のsubmitでこけます。 window.hWin.document.formがないようでヌルポになります。 親から子ウィンドウのサブミットをjavascriptだけで制御 できないでしょうか。 また、できればコメントアウトしているところ、 DOM要素を指定して値をテキストボックスに入れたり フォームをボタンによりクリックしてサブミットもしたいです。 ちなみに、setTimeout を利用しているのは、遷移が終わり、子ウィンドウの要素が確実に作成されている状態にするためです。 また、遷移先にSSLを設定している部分と設定していない部分があり、javascriptの途中で"ここに遷移していいですか?"みたいなダイアログが表示されます。"混雑しているページの処理"をインターネットオプションから"有効"にする(ダイアログを表示するではなく)と表示されないのですが、奨励されないので 他にいい方法はないでしょうか。

  • 複数ボタンを制御出来る2度押し防止ボタン

    HTML5+CSS3でゲームを作っています。 フォームがあり、ボタンが複数並んでいます。 <SCRIPT TYPE="text/javascript"> <!-- function sendform(){ submitForm(); } function submitForm(){ document.form1.submit(); } // --> </SCRIPT> <FORM action="buy.cgi" method="post" name="form1" id="form1"> <button class="button8" type="submit" name="d4_buy" value="300 onclick="sendform()">300購入</button> <button class="button8" type="submit" name="d4_buy" value="400" onClick="sendform()">400購入</button> </FORM> 上記で正常に作動しますが、3G環境など通信状態の悪い時に、「300購入ボタンを押した直後に400購入ボタンを押す」と700購入が出来てしまいます。 【希望事項】 2つのボタンを連続して押しても2つ目が無効になるようにしたいというのが希望です。 ネットで調べたところ ****************************************** http://okwave.jp/qa/q627484.html ****************************************** <HTML><BODY> <FORM method="get" action="http://www.google.com/search"> <INPUT type="submit" value="submit1" onclick="this.form.q.value=this.value;this.disabled=true;this.form.submit()"> <INPUT type="submit" value="submit2" onclick="this.form.q.value=this.value;this.disabled=true;this.form.submit()"> <INPUT type="hidden" name="q" value="" > </FORM></BODY></HTML> ****************************************** という例があったため、この例に従って <SCRIPT TYPE="text/javascript"> <!-- function sendform(){ submitForm(); } function submitForm(){ document.form1.submit(); } // --> </SCRIPT> <FORM action="buy.cgi" method="post" name="form1" id="form1"> <button class="button8" type="submit" value="300 onclick="this.form.q.value=this.value;this.disabled=true;this.form.sendform()">300購入</button> <button class="button8" type="submit" value="400" onclick="this.form.q.value=this.value;this.disabled=true;this.form.sendform()">400購入</button> <INPUT type="hidden" name="d4_buy" value="" > </FORM> としてみたのですが、うまく数値の引き渡しが出来ません。(NULL となります) どのように改造すればいいか教えてください。 よろしくお願いいたします。

専門家に質問してみよう