前提・実現したいこと
ウインドウ1からテキストボックスに入力したデータを、
<form action="ウインドウ2.php" method="POST"で、 <input type="text" name='pr_name'>したデータ(pr_name)内容をウインドウ2に渡して$_POST["pr_name"]で取得がしたい。 尚、ウインドウ2はポップウインドウで開きたい。です。発生している問題・エラーメッセージ
<現状>
--source構成内容--
1.pos_ok.phpからpopwin1.php ...post sabmitで別windowで$_POSTは内容表示受取出来たが、タブ表示でしか出来ない。
2.pos_ng.phpからpopwin1.php ...ウインドウはポップ表示出来たが、$_POSTは受信が出来ない。
また、どちらも子ウインドウから呼び出した親ウィンドウへデータの渡しは出来ている。
<何故?>
submitにonclick="windowを指定しているとpostされた情報が伝送されない?たぶん使い方に..誤りがあるのかな? 是非ご教授頂きたくお願いします。
該当のソースコード
(pos_ok.php)
<!-- php id :pos_ok.php コメント :post sabmitで別windowで$_POSTはokだがタブになってしまう。 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>post sabmitで別windowにデータを渡すがokでしたがタグでオープンされる。</title> </head> <script type="text/javascript"> <!-- function openwin_1() { window.open("popwin1.php", "", "width=500,height=400" ); } // --> </script> <form action="popwin1.php" method="POST" target="_blank"> <b>親ウィンドウ (post sabmitで別windowで$_POSTはokだがタブになってしまう。)</b> <p>項目1:<span><input type="text" name='pr_name' id="id_pr_name" value=""></span></p> <p>項目2:<span><input type="text" name='pr_age' id="id_pr_age"></span></p> <input type = "submit" value="子ウィンドウを開く"> </form> <?php//■メニュー戻り
echo '<button onclick=location.href="menu.html">';
echo "メニュー戻り";
echo '</button>';
?>
(pos_ng.php)
<!-- php id :pos_ng.php コメント :post sabmitで別windowにデータを渡すが$_POSTが取れずNGでした。 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>post sabmitで別windowにデータを渡すがNGでした。(pos_ng.php)</title> </head> <script type="text/javascript"> <!-- function openwin_1() { window.open("popwin1.php", "", "width=500,height=400" ); } // --> </script> <form method="POST" action="#" > <!--<form method="POST" action="popwin1.php" onsubmit="return false;">--> <b>親ウィンドウ (post sabmitで別windowにデータを渡すが$_POSTが取れずNGでした。)</b> <p>項目1:<span><input type="text" name='pr_name' id="id_pr_name" value=""></span></p> <p>項目2:<span><input type="text" name='pr_age' id="id_pr_age"></span></p> <input type = "submit" value="子ウィンドウを開く" onclick="window.openwin_1('popwin1.php', '', 'width=500,height=400');"> </form> <?php //■メニュー戻り echo '<button onclick=location.href="menu.html">'; echo "メニュー戻り"; echo '</button>'; ?>(popwin1.php)受信側
<!-- php id :popwin1.php コメント :受信側別pop window --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>受信側別pop window(popwin1.php)</title> </head> <script type="text/javascript"> <!-- function returnWindow() { // 親ウィンドウの存在チェック if(!window.opener || window.opener.closed){ window.alert('親ウィンドウがありません。'); return false; } // 子ウィンドから親ウィンドウへ値を渡す window.opener.document.getElementById("id_pr_name").value = document.getElementById("chl_name").value; window.opener.document.getElementById("id_pr_age").value = document.getElementById("chl_age").value; } --> </script><b>子ウィンドウ1</b>
<p>項目1:<input type="text" id="chl_name"></p> <p>項目2:<input type="text" id="chl_age"></p> <p><a href="javascript:void(0);" onclick="returnWindow()">親ウィンドウに値を渡す</a></p> <?php echo "php変数受け取り(pr_name)".$_POST["pr_name"]; echo "<br>"; echo "php変数受け取り(pr_age)".$_POST["pr_age"]; ?>試したこと
上記スクリプトを実行して頂くと、pos_ok.phpの場合とpos_ng.phpの場合がわかると思います。
大変お手数ですが、ご教授頂けますと幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー