Javascript 如果在新窗口中打开,则选中的输入类型收音机不工作
我的计划是点击link.html页面中的按钮(exp:Check option 2 in radio.html), 它将转到radio.html页面并选中选项2 radio。Javascript 如果在新窗口中打开,则选中的输入类型收音机不工作,javascript,html,radio-button,window.open,Javascript,Html,Radio Button,Window.open,我的计划是点击link.html页面中的按钮(exp:Check option 2 in radio.html), 它将转到radio.html页面并选中选项2 radio。 我可以通过单击radio.html页面中的按钮来检查收音机。 但是如果单击link.html上的按钮,我在打开radio.html页面时无法检查收音机。 我的想法是使用windows.open打开radio.html,然后使用window.onload&document.getElementById检查收音机。 但失败了。
我可以通过单击radio.html页面中的按钮来检查收音机。
但是如果单击link.html上的按钮,我在打开radio.html页面时无法检查收音机。
我的想法是使用
windows.open
打开radio.html,然后使用window.onload
&document.getElementById
检查收音机。
但失败了。我的想法错了吗?
请帮忙,TQVM。
以下是radio.html代码:
选择1
选择2
选择3
选择4
选择选项1
勾选选项2
选择选项3
选择选项4
函数检查1(){
document.getElementById(“opt1”).checked=true;
}
函数检查2(){
document.getElementById(“opt2”).checked=true;
}
函数检查3(){
document.getElementById(“opt3”).checked=true;
}
函数检查4(){
document.getElementById(“opt4”).checked=true;
}
最简单的方法似乎是将事件侦听器添加到您正在打开的窗口中,以便在加载时可以触发代码。下面的示例将打开此当前SO页面,并将内容替换为单词test
(您必须从控制台运行此操作,因为代码段似乎无法打开新窗口):
下面是代码的修改版本,它利用了相同的行为。我还将其简化为一个功能,其中按钮现在传递一个表示要勾选复选框的数字,而不是具有多个功能:
<html>
<body>
<button onclick="opencheck(2)">Check Option 2 in radio.html</button>
<br>
<button onclick="opencheck(3)">Check Option 3 in radio.html</button>
<br>
<script>
function opencheck(num) {
var mywindow = window.open("radio.html");
mywindow.addEventListener('load', function() {
mywindow.document.getElementById("opt" + num).checked = true;
}
}
</script>
</body>
</html>
选中radio.html中的选项2
选中radio.html中的选项3
函数opencheck(num){
var mywindow=window.open(“radio.html”);
mywindow.addEventListener('load',function(){
mywindow.document.getElementById(“opt”+num).checked=true;
}
}
您是否尝试过使用mywindow.document.getElementById
?我相信只要说document就会引用当前窗口的文档。我已经尝试过将mywindow.document.getElementById(“opt3”).checked=true;
放入mywindow.onload=function()
,但仍然无法获得它。我尝试过,但在我添加addEventListener
后它没有打开radio.html。但它给了我一个想法。我尝试对它进行一些研究。谢谢。我通过在新窗口或新选项卡中打开“radio.html”成功获得它,它工作正常,没有addEventListener。代码是:var mywindow=window.open(“radio.html”,“mywindow1”);mywindow.document.getElementById(“opt”+3).checked=true;}
但是我希望在同一个窗口中打开,你知道吗?你描述的是一个重定向。问题是,一旦你加载一个新页面,所有的代码执行就会停止,这不允许你用这种方式做你想做的事情。最简单的方法是在URL中传递一个查询参数,然后用它来修改t是否已检查,但这可能需要您做一些额外的研究。很抱歉延迟回复。谢谢您的评论,我理解您的意思。
<html>
<body>
<button onclick="opencheck(2)">Check Option 2 in radio.html</button>
<br>
<button onclick="opencheck(3)">Check Option 3 in radio.html</button>
<br>
<script>
function opencheck(num) {
var mywindow = window.open("radio.html");
mywindow.addEventListener('load', function() {
mywindow.document.getElementById("opt" + num).checked = true;
}
}
</script>
</body>
</html>