[HTML+Javascript]不同网页视窗间传递参数

javascript|网页

今天small問了我一個 AP 裡面蠻常見的功能如何寫,也就是按下一個按鈕後會開啟一個視窗,然後在視窗關閉之後將值回傳回去給原來視窗,可是這個功能要在網頁上呈現卻不太容易,如果說只要在 IE 上實作那還不太難,只要父視窗用 window.showModalDialog 開啟子網頁視窗,然後子網頁視窗只要在關閉前設定 window.returnValue,父視窗就可以接到處理結果(window.returnValue)。有於這個過程算是同步的,所以沒什麼問題。可是 firefox 基於安全理由(http://forums.mozine.org/lofiversion/index.php/t2569.html)不支援 showModalDialog,所以,目前我只知道透過 window.open 來實作,雖然不太相同,但仍然可以模擬出效果。程式如下:
parent.htm
-------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body>
<form id = 'frmMain' name = 'frmMain'>
<button onclick = 'getValue();'>getValue</button>
<input type = 'textbox' value = "" id = 'txtValue' name = 'txtValue' style = 'display: none'/>
<button id = 'btnReturn' name = 'btnReturn' onclick = 'returnValue();' style = 'display: none'></button>
</form>
<script type = 'text/javascript'>
<!--//
var winHandler = null;
function getValue(){
winHandler = window.open("child.htm", "child");
}

function returnValue(){
alert( document.getElementById('txtValue').value );
}
//-->
</script>
</body>
</html>

child.htm
-------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body>
<button onclick = 'btnClose_Click();'>close</button>
<input type = 'textbox' id = 'txtInput' value = ''/>
<script type = 'text/javascript'>
<!--//
var winHandler = null;
function btnClose_Click(){
if (window.opener != null){
  var txt = window.opener.document.frmMain.txtValue;  
  var btn = window.opener.document.frmMain.btnReturn;
  if (txt != null){
  txt.value = document.getElementById('txtInput').value;
  }
  btn.click();
}
self.close();
}
//-->
</script>
</body>
</html>
如果眼尖的人應該會發現我透過 btnReturn 和 txtValue 以非同步方式來取得回傳值,因為就目前所知伺服沒有其他辦法可以讓 window.open 以同步方式呈現,所以只能以这种怪异方式取得..... @_@

时间: 2024-08-04 00:34:29

[HTML+Javascript]不同网页视窗间传递参数的相关文章

jsp与javascript结合在页面间传递参数

javascript|js|页面 jsp与javascript结合用以处理confirm确认以达到传递参数到另一个页面的作用 目的是从数据库取出一系列数据,在每一行结束有删除一项,但是删除的时候需要用户确认是否删除. 首先我用了javascript来判断 <script language=javascript>function Myconfirm(id){if (confirm(是否确定删除该用户?)) {deleteUser(id)}} 这样在调用javascript:Myconfirm()

在窗体间传递参数的几种常用办法

在实际开发应用中,常常需要在窗体间传递参数.常用的几种参数传递方法有如下几种: 1.使用openargs 在调用的窗体使用如下语句: docmd.openform "被调用的窗体", , , , , , "参数值" 在被调用的窗体使用me.openargs即可获取传递过来的参数 2.使用全局变量 先设置一个全局变量,例如:gstrPara, Public gstrPara as string 在调用之前传递参数值给这个全局变量 gstrPara="参数值&

Javascript基于AJAX回调函数传递参数实例分析_javascript技巧

本文实例讲述了Javascript基于AJAX回调函数传递参数的方法.分享给大家供大家参考,具体如下: 前面介绍了<javascript实现html页面之间参数传递的四种方法>,这里针对ajax参数传递做一分析. 在Javascript 中,特别是在AJAX中,回调函数常常是一个函数名,没有地方放入参数,如下面的AJAX代码,在成功后将调用回调函数callback,但callback是有参数的,如何把参数传进来呢? var callback = function(p1){ //do somet

asp.net入门篇页面之间传递参数变量代码

1.QueryString[]     优点:使用简单,对于安全性要求不高时传递数字和文本值非常高效.     缺点:安全性不高,参数值直接暴露在Url中,传递大小长度有限制,不能传递对象.     用法:A页面中构造Url: string url="B.asp教程x?ID=1&name='zhangsan'"  Response.Redirect(url);             B页面中接受string id=Request.QueryString["ID&qu

PHP页面间传递参数实例代码_php基础

 首先给大家介绍如何通过表单传值查询数据.     任务目标:在表单中输入部门名,查询出相应部门的人员信息.     先创建search.php文件.     第一步,插入一表单,在其中包含一个输入框,一个提交按钮.search.php文件内容如下所示:  复制代码 代码如下: <html>  <head>  </head>  <body>  <h3>Search</h3>  <form action="search_

cordova-jingle页面间如何传递参数

问题描述 jingle页面间如何传递参数 跳转 官方有写这样带参数,但是他没写第二个页面怎么获取啊 解决方案 HTML页面间传递参数在jsp页面间传递参数在jsp页面间传递参数 解决方案二: //构造一个含有目标参数的正则表达式对象 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //匹配目标参数 var params = window.location.href.split('

PHP页面间传递值和保持值的方法_php实例

一.目录结构 二.两次页面间传递值 在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述. 1.get提交 使用get提交来传递数据,在链接地址中修改发送到服务器的 URL 如下所示http://www.cnblogs.com/MarkRao/p/php01.html?gName=mark&gAge=26,当然也可以在表单中设置method="get",php中接收get提交过来的数据值,使用预定义$_GET变量 从带有 GET 方法的表单

ci-PHP CI框架开发向javascript传递参数问题

问题描述 PHP CI框架开发向javascript传递参数问题 在网上看了一些关于PHP向Javascript传递参数的问题,运用了ajax技术,在php端基本都是echo json_encoded的方法,而且要求php文件要干净,我是想在CI框架里开发,让controllers可以传递一些多维数组给views,但是一传递参数使用echo方法就会显示在网页上.如何才能够正确的传送数据并且让这些数据不会显示在界面上呢?//controllers: $this->load->view('map'

HTML网页中如何向swf传递参数

本教程主要介绍HTML网页如何取得形如test.html?foo=mytest的foo参数,以及在HTML网页中如何向swf传递参数. 一.在HTML网页中使用js获取参数. 我们知道HTML页面是在客户端执行的,这样要获取参数必须使用客户端脚本(如Javascript),在这点上不同于服务器端脚本获取参数方式.下面的这段js代码获取HTML网页形如"test.html?foo=mytest&program=flash" "?"后所有参数. <scri