我使用js在父子之间进行传值主要是通过在子窗口调用父窗口的方法来实现传值的目的。
parent.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>parent.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript"> function openWin() { var style = "width=300,height=400,location=no,directories=no,toolbar=no,status=no,menubar=no,resizable=no,scrollbars=no"; window.open("child.html","打开窗口传值",style); } function setValue(name,hname) { document.getElementById("name").value = name; document.getElementById("hname").value = hname; } </script> </head> <body> name:<input type="text" id="name"/><a href="#" onclick="openWin()">请选择</a> <input type="hidden" name="name" id="hname"/> </body> </html>
child.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>child.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript"> function selectedThis(obj) { var name = obj.value; var hname = obj.id; window.opener.setValue(name,hname);//调用父窗口的方法进行传值 window.opener = null; window.close(); } </script> </head> <body> 请选择名称:<br/> <input type="radio" name="name" id="name1" value="名称1" onclick="selectedThis(this)"/>名称1 <input type="radio" name="name" id="name2" value="名称2" onclick="selectedThis(this)"/>名称2 <input type="radio" name="name" id="name3" value="名称3" onclick="selectedThis(this)"/>名称3 <br/> <input type="radio" name="name" id="name4" value="名称4" onclick="selectedThis(this)"/>名称4 <input type="radio" name="name" id="name5" value="名称5" onclick="selectedThis(this)"/>名称5 <input type="radio" name="name" id="name6" value="名称6" onclick="selectedThis(this)"/>名称6 </body> </html>