JS 实现获取打开一个界面中输入的值

  需求

  在一个界面中打开另一个界面,通过JS获取在另一个界面中用户输入的值。

  示例:

  Index.html

  

复制代码 代码如下:

  <html>

  <head>

  <meta http-equiv="content-type" content="text/html; charset=gbk">

  <title>主页</title>

  <script type="text/javascript">

  function EntryPoint() {

  var style = 'dialogHeight:600px;dialogWidth:800px;status:no;help:0;scrool:yes';

  var a = window.showModalDialog('other.html', '', style);

  if (a == undefined) {

  a = window.returnValue;

  }

  // debugger;

  if (a != null && a.length > 0) {

  document.getElementById("name").value = a[0];

  document.getElementById("age").value = a[1];

  }

  }

  </script>

  </head>

  <body>

  <input type="button" value="调用" onclick="EntryPoint()"/><br/>

  <input type="text" name="name" id="name" /><br/>

  <input type="text" name="age" id="age" />

  </body>

  </html>

  另一个界面:

  other.html

  

复制代码 代码如下:

  <html>

  <head>

  <title>操作界面</title>

  <meta http-equiv="content-type" content="text/html; charset=gbk">

  <script type="text/javascript">

  function postValue() {

  var name = document.getElementById("name").value;

  var age = document.getElementById("age").value;

  var a = new Array();

  a[0] = name;

  a[1] = age;

  //debugger;

  if (window.opener != undefined) {

  //for chrome

  window.opener.returnValue = a;

  }

  else {

  window.returnValue = a;

  }

  window.close();

  }

  </script>

  </head>

  <body>

  <input type="button" value="确定" onclick="postValue();"/><br/>

  名字:<input type="text" name="name" id="name" /><br/>

  年龄:<input type="text" name="age" id="age" />

  </body>

  </html>

  在该DEMO中遇到一个问题,那就是chrome中window.close()方法不起作用。最后通过,window.opener来解决chrome和IE的冲突。