Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在加载时从父窗口关闭子窗口?_Javascript_Php_Html_Function_Switch Statement - Fatal编程技术网

Javascript 如何在加载时从父窗口关闭子窗口?

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>

我试图在父窗口转到switch and case语句中的另一个case时打开一个子弹出窗口,然后在父窗口转到另一个不同的case时关闭该子窗口:

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>";