如何使用JavaScript从弹出窗口向父窗口传递所选的单选按钮值?

时间:2014-05-10 07:05:04

标签: javascript

我创建了一个表单,它从弹出窗口输入字段中获取输入值。 我成功将输入类型“文本”值的值从子窗口传递到父窗口,但是我正面临将子窗口中的单选按钮值传递给父窗口的问题。请帮我传递单选按钮值

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>

2 个答案:

答案 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();