Posted in Javascript onSeptember 30, 2008
其实原理也很简单。同样先通过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>
还没明白的朋友看一下原理图就知道了
javascript不同页面传值的改进版
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@