我在一个页面上点击一个按钮出现下面网页。然后想实现根据父页面上的某个text内容显示不同的选择项。显示选择项的时候用DRTEE显示,感觉好看一点。然后就出现提交后一直在会循环到alert,点击确定又alert,不会调用我的getRadio()方法。<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
<script type="text/javascript" >
function getRadio()
{
for (var i=0; i < document.form1.check.length; i++)
{
if (document.form1.check[i].checked)
{
window.opener.document.getElementById("article_jrfs").value=document.form1.check[i].value;
window.close();
}
}
}
</script></head>
<body>
<div class="dtree">
<form name="form1">
<script type="text/javascript">
dd = new dTree('dd');
dd.add(0,-1,'接入方式','');
var a = window.opener.document.getElementById("article_ywlx").value;
alert(a);
if(a=="金")
{
dd.add(1,0,'<input type="radio" name="check" value="黄金" >黄金','');
}
if(a=="铜"){
dd.add(1,0,'<input type="radio" name="check" value="赤铜" >赤铜','');
}
if(a=="铁"){
dd.add(1,0,'<input type="radio" name="check" value="生铁" >生铁','');
} document.write(dd);
</script>
<input type="submit" value="确定" width="50" onclick="getRadio()" />
</form>
<script type="text/javascript" src="dtree.js"></script>
<script type="text/javascript" >
function getRadio()
{
for (var i=0; i < document.form1.check.length; i++)
{
if (document.form1.check[i].checked)
{
window.opener.document.getElementById("article_jrfs").value=document.form1.check[i].value;
window.close();
}
}
}
</script></head>
<body>
<div class="dtree">
<form name="form1">
<script type="text/javascript">
dd = new dTree('dd');
dd.add(0,-1,'接入方式','');
var a = window.opener.document.getElementById("article_ywlx").value;
alert(a);
if(a=="金")
{
dd.add(1,0,'<input type="radio" name="check" value="黄金" >黄金','');
}
if(a=="铜"){
dd.add(1,0,'<input type="radio" name="check" value="赤铜" >赤铜','');
}
if(a=="铁"){
dd.add(1,0,'<input type="radio" name="check" value="生铁" >生铁','');
} document.write(dd);
</script>
<input type="submit" value="确定" width="50" onclick="getRadio()" />
</form>
但是不执行下面两句,不会将这个值赋给父页面的text,子页面也不会自动关闭。window.opener.document.getElementById("article_jrfs").value=document.form1.check[i].value;
window.close();
alert(document.form1.check.length)发现为undefined
function getRadio()
{
if (document.form1.check.checked)
{
window.opener.document.getElementById("article_jrfs").value = document.form1.check.value;
window.close();
}}
其他都没有问题. 也没有出现你所说的循环 ...
我昏了 多个的时候才是数组 要循环判断 一个的时候直接取就可以了
可能由于是undifind 在for循环里面就过不去了,一直在循环。