http://blog.csdn.net/heng_ji/article/details/7069564
JS传值
父页面弹出子页面对话框,若传值,通常情况下使用的是get方式传值,也就是拼参数串,通过URL传递参数。
这种传值方式有以下问题(只针对弹出页面对话框这种情况):
1 参数不需要变化时,传给服务器后又传回页面,浪费资源。
2 若参数为中文参数,可能会出现乱码现象。
3 参数若是很多的情况下,可能会传参失败,因为get方式传值是有长度限制的。
JS传值,不需要经过服务器的中间转接发送。
若父页面到子页面单向传值:
父页面:
1 function openChild(){ 2 window.showModalDialog('child.jsp',{params:['中国','河南']},
'dialogHeight=620px;dialogWidth=700px; status=no'); 3 }
子页面:
1 <script type="text/JavaScript"> 2 var params =window.dialogArguments.params; //接收父页面参数 3 var country =params[0]; 4 var province =params[1]; 5 6 7 function setValue(){ 8 document.getElementById('country').value = country; 9 document.getElementById('province').value = province; 10 } 11 </script>
若父页面到子页面传值并接收子页面返回值时:
父页面:
function openChild(){ var value = window.showModalDialog('child.jsp',{params:['中国','河南']}, 'dialogHeight=620px; dialogWidth=700px; status=no'); alert(value); //对返回值进行操作 }
子页面:
<script type="text/javascript"> var params =window.dialogArguments.params; //接收父页面参数 var country =params[0]; var province =params[1]; function setValue(){ document.getElementById('country').value = country; document.getElementById('province').value = province; window.returnValue = ‘返回值’; //子页面向父页面返回值。 } </script>
以上就是JS传值的使用。