Javascript 如何在加载时从父窗口关闭子窗口?
我试图在父窗口转到switch and case语句中的另一个case时打开一个子弹出窗口,然后在父窗口转到另一个不同的case时关闭该子窗口:Javascript 如何在加载时从父窗口关闭子窗口?,javascript,php,html,function,switch-statement,Javascript,Php,Html,Function,Switch Statement,我试图在父窗口转到switch and case语句中的另一个case时打开一个子弹出窗口,然后在父窗口转到另一个不同的case时关闭该子窗口: case "1": $nextDecision = " <form action=\"index.php\" method=\"get\"> <input type=\"radio\" name=\"choice\" value=\"val1\">message<br>
case "1":
$nextDecision = "
<form action=\"index.php\" method=\"get\">
<input type=\"radio\" name=\"choice\" value=\"val1\">message<br>
<input type=\"submit\">
</form>";
?>
<script language="JavaScript" type="text/javascript" src="javascripts.js"></script>
<body onload="javascript:openWin()"></body>
<?php
break;
case "2":
$nextDecision = "
<form action=\"index.php\" method=\"get\">
<input type=\"radio\" name=\"choice\" value=\"val2\">message<br>
<input type=\"submit\">
</form>";
?>
<body onload="javascript:closeWin()"></body>
<?php
break;
您正在尝试关闭身体负荷的子窗口,而身体负荷无权访问子窗口。在重新加载父窗口之前尝试将其关闭
function closeWin() {
document.getElementById('choice').value='val2';
myWindow.close();
}
<form action=\"index.php\" method=\"get\">
<input type=\"radio\" id=\"choice\" name=\"choice\" onsubmit="closeWin()" value=\"val2\">message<br>
<input type=\"submit\" >
</form>";
函数closeWin(){
document.getElementById('choice').value='val2';
myWindow.close();
}
消息
";
我该怎么做?我会怎么做呢?closeWin();
?body onload有权打开一个子窗口。所以它应该能够关闭它,对吗?正确!在重新加载父窗口之前应该关闭子窗口。我试图检查按钮是否在同一个开关语句中被单击,并移动了openWin()
到案例的开头。document.getElementById('submit').onclick=closeWin();
我把它放在表单后面,但是当我重新加载页面时,我看到弹出窗口打开,然后快速关闭。嗯,弹出窗口关闭了,所以至少我们有了进展:)你还可以附加closeWin()在表单标记的onsubmit事件侦听器中。检查我的编辑:现在可以很好地工作。谢谢!但是为了将来的参考,HTML标记如何理解这是我定义的javascript方法,而不使用脚本标记?
function closeWin() {
document.getElementById('choice').value='val2';
myWindow.close();
}
<form action=\"index.php\" method=\"get\">
<input type=\"radio\" id=\"choice\" name=\"choice\" onsubmit="closeWin()" value=\"val2\">message<br>
<input type=\"submit\" >
</form>";