javascript不同页面传值的改进版

  其实原理也很简单。同样先通过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不同页面传值的改进版