[javaScript] form action
PHPとjavascriptで検索(別ページ)→検索結果表示(test.php)→指定リンククリック(test.php)→チェックボックスの値を親ウィンドウ(test.php)から子ウィンドウ(aaa.php、bbb.php)へ渡し、更新→親ウィンドウ(test.php)に反映→検索ボタン押下で再検索(test.php)という流れのプログラムを書いています。
親ウィンドウ(test.php)に反映までは実装できましたが、その後検索でsubmitすると、test.phpではなくaaa.phpかbbb.phpへ遷移してしまいます。
色々試してみましたがどうしてもわからず、どなたかご教授いただけませんでしょうか。
よろしくお願い致します。
[親ウィンドウ]
function setDown(type) {
window.open("", "test") ;
if(type == 'aaa') {
window.document.fm.action = "aaa.php";
} else if(type == 'bbb') {
window.document.fm.action = "bbb.php";
}
window.document.fm.target = "test";
window.document.fm.method = "POST";
window.document.fm.submit();
}
<form action="index.php" method="post" name="fm">
<a href="javascript:void(0)" onClick="setDown('aaa');"return false>aaa指定</a>
<div id="aaaDis"></div>
<a href="javascript:void(0)" onClick="setDown('bbb');"return false>bbb指定</a>
<div id="bbbDis"></div>
<input type="text" name="keyword">
<input type="submit" name="search" value="検索">
</form>
[子ウィンドウ aaa.php]
if($_REQUEST["mode"] == "set") {
foreach($_REQUEST["sample"] as $num => $val) {
$addName .= $Func -> GetGenreName($val) . ",";
$addNo .= $val. ",";
}
$addName = rtrim($addName ,",");
$addNo = rtrim($addNo ,",");
<script type="text/javascript">
<!--
var addName = '<?php echo $addName ; ?>';
var addNo = '<?php echo $addNo ; ?>';
var sampleName = addName.split(",");
var sampleNo = addNo.split(",");
if(sampleNo) {
window.opener.document.getElementById('aaaDis').innerHTML = "";
for (var i in sampleNo){
window.opener.document.getElementById('aaaDis').innerHTML += '<input type="checkbox" name="sample[]" value="'+sampleNo[i]+'" checked> '+sampleName[i];
}
}
window.close();
// -->
</script>
}
<form action="aaa.php" method="post">
<input type="hidden" name="mode" value="set">
<input type="submit" value="設定">
<input name="sample[]" TYPE="checkbox" VALUE="1">1111
・
・
・
</form>
補足
と言うことは、 <form1>input用、submitあり</form> <form2>hidden用、submit無し</form> とあった時、form1をsubmitする時に、同時にform2の内容もjavascriptで制御してやれば送信できると言う事でしょうか。 少しそれっぽいのを検索してみようと思います。