其实原理也很简单。同样先通过getAttribute判断type属性,捕捉到按钮。然后在按钮onclick时把i通过url传入子页面。 复制代码 代码如下:<h2>input1</h2> <input type="text" /><input type="submit" /> <h2>input2</h2> <input type="text" /><input type="submit" /> <script type="text/javascript"><!-- var aInput = document.getElementsByTagName("input"); for (i = 0 ; i < aInput.length ; i++ ) { ( function (i){ if (aInput[i].getAttribute("type") == "submit") { aInput[i].onclick = function (){ window.open('b.html?'+i,'newwindow','height=100,width=400') } } } )(i) } // --></script>子页面用slice方法对url进行切分。并使用window.opener方法捕捉到父页面的文本框,进行赋值。 一切就OK了 复制代码 代码如下:<h2>openWindow</h2> <input type="text" /><input type="submit" /> <script type="text/javascript"><!-- var aInput = document.getElementsByTagName("input"); for (i = 0 ; i < aInput.length ; i++ ) { if (aInput[i].getAttribute("type") == "text") var textboxB = new Object(aInput[i]); if (aInput[i].getAttribute("type") == "submit") var btnB = new Object(aInput[i]); } btnB.onclick = function(){ var sTextValue = textboxB.value var aInput = window.opener.document.getElementsByTagName("input"); var sUrl = document.location; var sNo = sUrl.toString().slice(-1) window.opener.aInput[sNo-"1"].value = sTextValue window.close(); } // --></script>
还没明白的朋友看一下原理图就知道了
推荐阅读
js星空效果代码
星空效果_www.jb51.net
ABCD
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]>>>详细阅读
本文标题:javascript不同页面传值的改进版
地址:http://www.17bianji.com/kaifa2/JS/29379.html
1/2 1