アプリ版:「スタンプのみでお礼する」機能のリリースについて

親画面で入力した内容をPOST後
子画面に表示して(表示のみ、モーダル状態)内容を確認して
ボタンで【OK】か【キャンセル】を押下して親画面に何が押下されたか
戻したいです。

私なりに考えて見ましたが、子画面からの戻し方がよく
わかりません。

よろしくお願いします。

親画面
【oya.php】
<?
session_start();

if($_POST["CHK"]){
$_SESSION["item1"] = $_POST["item1"];
$_SESSION["item2"] = $_POST["item2"];
returnValue = showModalDialog("ko.php");

//子画面の戻り値が【OK】のときDBに登録処理をする
//【OK】でないときはそのまま

}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="oya.php" method="post">
<table width="70%" align = "center" cellspacing="0">
<tr>
<td align="right">入力項目1</td>
<td><input type="text" name="item1" size="10" maxlength="10" value = "<? echo $item1 ?>"></td>
</tr>
<tr>
<td align="right">入力項目2</td>
<td><input type="text" name="item2" size="10" maxlength="10" value = "<? echo $item2 ?>"></td>
</tr>
<tr>
<td>
<input type="submit" name="CHK" value="確認">
</td>
</tr>
</table>
</form>
</body>
</html>


子画面
【ko.php】
<?
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>確認画面</title>
<link rel="stylesheet" href="./css/style.css" type="text/css" />
</head>
<body>
確認後「OK」OR「キャンセル」を押して下さい。
<table width="70%" align = "center" cellspacing="0">
<tr>
<td align="right">入力項目1</td>
<td><input type="text" name="item1" size="10" maxlength="10" value = "<? echo $_SESSION["item1"] ?>" readonly="readonly"></td>
</tr>
<tr>
<td align="right">入力項目2</td>
<td><input type="text" name="item2" size="10" maxlength="10" value = "<? echo $_SESSION["item2"] ?>" readonly="readonly"></td>
</tr>
</table>
</body>
</html>

A 回答 (2件)

子画面から親にアクセスするにはopenerをみればよいでしょう。



ただ、見る限り提示の子画面は要素がreadonlyになっているので
変更できませんよね?
戻すもなにもないかと・・・

この回答への補足

お世話になります。
すみません。説明不足で...
>ただ、見る限り提示の子画面は要素がreadonlyになっているので
>変更できませんよね?
はい、そうです。子画面からは修正しません。見るだけです。
親で入力した内容を確認するだけです。
内容を確認後OKのときに親に対してOK:ture、親でテーブルに保存する
NGのときに親に対してNG:falseをリターンし入力修正作業をする

補足日時:2009/08/24 14:47
    • good
    • 0

この場合子画面から親画面にデータを引き継ぐためには、


子画面のなんらかの処理(サブミット、クローズ)の際に
親画面を再読み込みする必要があります
javascriptでメソッドの指定をしてください。
(モーダルなら問題ないとは思いますが、再読み込みした際に
親画面の送信前データはクリアされてしまうでしょう)

親画面の再読み込みをしないで動的に処理をしたいなら、
単純なjavascriptでもできると思いますが、
サーバーからデータを受け取らないので、データの信頼性に保証が
ありません。

この回答への補足

yambejpさん、ありがとうございます。
大変申し訳ございませんが...
具体的にどのようにするとよろしいのでしょうか?

>親画面の再読み込みをしないで動的に処理をしたいなら、
>単純なjavascriptでもできると思いますが、

補足日時:2009/08/24 12:49
    • good
    • 0
この回答へのお礼

>親画面の再読み込みをしないで動的に処理をしたいなら、
>単純なjavascriptでもできると思いますが、

上記の方法はどのようにすると良いのでしょうか?

お礼日時:2009/08/24 13:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!