我创建了一个表单,它从弹出窗口输入字段中获取输入值。 我成功将输入类型“文本”值的值从子窗口传递到父窗口,但是我正面临将子窗口中的单选按钮值传递给父窗口的问题。请帮我传递单选按钮值
parent.html
<html>
<script language="javascript">
function openWindow() {
window.open("target.html","_blank","height=200,width=400, status=yes,toolbar=no,menubar=no,location=no");
}
</script>
<body>
<form >
<input id=text1 type=text>
<input id=text2 type=text>
<input id=text3 type=text>
<input type=button onClick="javascript:openWindow()" value="Open window..">
</form>
</body>
</html>
target.html
<html>
<body>
<script>
function changeParent(){
var userGrade = document.getElementById('grade');
//var radios = document.getElementById("level");
var userLevel= document.getElementById('school');
window.opener.document.getElementById('text1').value=userGrade.value;
var rates = document.getElementById('level');
var radio_value;
for(var i = 0; i < rates.length; i++){
if(rates[i].checked){
radio_value = rates[i].value;
window.opener.document.getElementById('text2').value=radio_value.value;
}
}
window.close();
}
</script>
<form>
<input type="text" id="grade" /><br/>
<INPUT TYPE="radio" id="level" value="level1">level 1
<INPUT TYPE="radio" id="level" value="level2">level 2 <br/>
<br/>
<button onClick="javascript:changeParent()" >Submit</button>
</form>
</body>
</html>
答案 0 :(得分:1)
我不确定发送过程是否正确,但正如你可以从jsFiddle http://jsfiddle.net/bBZFG/看到的那样,你正在正确地解决无线电元素。
另外,行window.opener.document.getElementById('text2').value=radio_value.value;
是不正确的,因为在此范围内,radio_value
变量已经是值。
答案 1 :(得分:0)
使用以下代码获取值
window.opener.document.getElementById('text2').value=document.form.level.value;
之后
windows.close();