子ウィンドウに値を渡す方法とは?
- 子ウィンドウに値を渡す方法を具体的に教えてください。
- 親ウィンドウのボタンをクリックするだけで、ウラにデータを引っ張ってきて子ウィンドウに表示する方法はありますか?
- 質問者は子ウィンドウにデータを渡す方法について教えてほしいとしています。具体的な方法や参考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を教えていただけるととても助かります。 よろしくお願いします。
- nyalio
- お礼率37% (43/114)
- JavaScript
- 回答数2
- ありがとう数0
- みんなの回答 (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>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
あまりお勧めしませんが、<form target="_blank"> とすればサブミットしながら子ウィンドウが開きますね、 当然サブミット処理なので引っ張ったデータが表示されるでしょう しかしそれを子ウィンドウでやるべきかどうかは 判断がわかれるところだと思います
補足
お見事です。 欲を言えば、_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も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。
- ベストアンサー
- JavaScript
- ウィンドウが閉じない
フレーム付きの親ウィンドウから一つ子ウィンドウを生成し、その子ウィンドウ内の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()"> ~略~ ------------------------- これで子ウィンドウは閉じません。 オブジェクトを指定すればいいのかもしれませんが、親ウィンドウからの生成だとどうすればよいのかもわかりません。 よろしくお願い致します。
- ベストアンサー
- JavaScript
- 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()とかでできるのでしょうか?? すみませんがよろしくお願い致します。
- ベストアンサー
- JavaScript
- 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>
- ベストアンサー
- JavaScript
- 同じフォーム内で、押下するボタンによって、飛び先のページ(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の途中で"ここに遷移していいですか?"みたいなダイアログが表示されます。"混雑しているページの処理"をインターネットオプションから"有効"にする(ダイアログを表示するではなく)と表示されないのですが、奨励されないので 他にいい方法はないでしょうか。
- ベストアンサー
- 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 となります) どのように改造すればいいか教えてください。 よろしくお願いいたします。
- 締切済み
- JavaScript
補足
いい感じです´`b