※ ChatGPTを利用し、要約された質問です(原文:子画面から親画面に値を返す方法)
子画面から親画面に値を返す方法
このQ&Aのポイント
親画面で入力した内容をPOST後、子画面に表示して(表示のみ、モーダル状態)内容を確認し、ボタンで【OK】か【キャンセル】を押下して親画面に戻す方法について質問しています。
子画面からの戻し方がわからず、問題を解決するためにアドバイスを求めています。
親画面での処理の流れや子画面の実装方法を教えてほしいという要望です。
親画面で入力した内容を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>
お礼
>親画面の再読み込みをしないで動的に処理をしたいなら、 >単純なjavascriptでもできると思いますが、 上記の方法はどのようにすると良いのでしょうか?
補足
yambejpさん、ありがとうございます。 大変申し訳ございませんが... 具体的にどのようにするとよろしいのでしょうか? >親画面の再読み込みをしないで動的に処理をしたいなら、 >単純なjavascriptでもできると思いますが、