直接运行下面的页面就明白怎么用了
父页面:main.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>main.html</title>
</head>
<body>
<script type="text/javascript">
// 按照W3C标准父页面找到子页面,语法如下document.getElementById(”iframe1″).contentWindow;取到子页面对象
// <iframe id=”iframe1″ name=”iframe1″ frameborder=”0″ scrolling=”0″
// style=”width:300px; height:150px; border:1px #009966 solid;” src=”1.html”></iframe>
function show() {
window.open("open.html","newindow","width=100,height=200,toolbar=no,scrollbars=no");
// window.open(url, name, features, replace); 实现打开一个新窗口
// url地址,name新窗口名字,name相同的窗口只能创建一个,features用于设置新窗口的设置
// replace 指可选布尔参数,设置新窗口中的操作历史的保存方式,其中true 指创建新历史记录,false指替换旧的历史记录。
}
function getNewLinkValue(value) {
alert(value);//可以得到子页面设的值
}
function shw() {
var url = "open.html";
//----------方法一--start-------
var obj = document.form1; //指定页面对象
var returnValue = window.showModalDialog(url, obj,
'dialogHeight:550px;dialogWidth:500px;center:yes'); //方法返回值
//----------方法一--end-------
alert("returnValue:"+returnValue);
alert("fag1.value:"+document.form1.fag1.value);
}
</script>
<form name="form1">
<input type="text" name="fag1">
<input type="text" name="fag2">
<input type="button" value="button" onclick="shw()">
<input type="button" value="show" onclick="show()">
</form>
</body>
</html>
弹出页面open.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>open.html</title>
</head>
<body>
<script type="text/javascript">
function setNewLinkValue() {
window.opener.getNewLinkValue("abc");//调用父页面的方法给父页面的传值
// window.parent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。(通常在使用ifream调用或者location.href调用时可以使用此)
// window.opener引用的是window.open打开的页面的父页面,当一个窗口用open方法打开了一个新窗口的时候,opener属性就生效;
}
function sendValue() {
var TNO = document.all.TNO.value;
var SNO = document.all.SNO.value;
//----------方法二--start-------
var obj = window.dialogArguments; //父页面对象
obj.elements["fag1"].value = SNO; //给父页面对象赋值
// 显然,这里也同样可以得到父页面中指定的值
alert("子页面form表单中的值:"+obj.elements['fag1'].value);
obj.elements["fag2"].value = TNO;
//----------方法二--end-------
//----------方法一--start-------
window.returnValue = SNO + "," + TNO; //方法返回值
//----------方法一--end-------
window.close();
}
</script>
<form name="form2">
<input type="text" name="SNO">
<input type="text" name="TNO">
<input type="button" value="ok" onclick="sendValue()">
<input type="button" value="setNewLinkValue" onclick="setNewLinkValue()">
</form>
</body>
</html>
分享到:
相关推荐
在IT行业中,`showModalDialog`是一个非常特殊的浏览器API,主要用于弹出模态对话框,它在网页应用中起到了展示信息、获取用户输入或者执行特定任务的作用。这篇名为"showModalDialog技术文章"的博客文章可能详细...
2. 对于第二类应用,如工作流分配这样的复杂操作,`showModalDialog` 调用可能会引起一系列后续操作。在这种情况下,我们需要对代码进行“hack”,也就是临时替换 `showModalDialog` 方法,使其行为更符合自动化测试...
"showModalDialog"是JavaScript中的一个古老但仍然有用的弹出窗口方法,用于在浏览器环境中打开一个新的对话窗口。这个方法在Web开发中主要用于创建...了解并熟练掌握其使用,可以帮助开发者更好地构建交互式Web应用。
然而,当尝试使用`showModalDialog`在不同源之间打开页面时,同样会遭遇跨域限制。标题"showModalDialog跨域解决例子"表明我们将探讨如何克服这个限制。 首先,理解跨域的原理至关重要。同源策略是浏览器为了安全而...
在Web开发中,`showModalDialog` 和 `showModelessDialog` 是两种用于创建弹出窗口的方法,它们各自具有独特的特性和应用场景。本文将详细解析这两种方法的区别、使用技巧以及如何避免常见的问题。 #### ...
在JavaScript编程语言中,`Window.showModalDialog()`...总的来说,虽然`Window.showModalDialog()`在某些场景下仍可能有其应用,但随着Web开发趋势的变化,了解和掌握更现代、更灵活的对话框解决方案是非常必要的。
这些文件可能用于实现用户管理或人员选择等功能,与`window.showModalDialog`和`window.open`的使用直接关联不大,但在实际Web应用中,这些JSP文件可能会用到这两种弹窗方法来创建用户交互界面。例如,`member-admin...
为了更好地理解和应用`showModalDialog`,可以参考给定的博文链接(https://anminer.iteye.com/blog/835110),在那里作者可能提供了详细的示例和实践指导。同时,也要意识到随着Web技术的发展,保持对替代方案的...
在IT行业中,尤其是在Web开发领域,`showModalDialog`是一个重要的JavaScript函数,它用于打开一个模态对话框,即在用户与新窗口交互时,主窗口会被暂时禁用。这个功能在需要用户输入额外信息或者确认操作时非常有用...
### ShowModalDialog与window.open的区别 #### 一、概述 在Web开发中,有时需要创建新的浏览器窗口或对话框来实现特定功能,如显示警告、输入数据等交互操作。JavaScript 提供了两种常用的方法来创建这类窗口:`...
在实际应用中,`showModalDialog`由于其模态特性,常用于需要用户输入信息或确认操作的情况,而`window.open`更适合于打开新页面或窗口,提供非阻塞式的用户体验。 在`DialogDemo`这个实例中,可能包含了使用`...
`window.showModalDialog` 和 `window.showModelessDialog` 提供了灵活的方式来创建弹出对话框,适用于需要与用户进行交互的应用场景。需要注意的是,这两个函数仅在 IE 浏览器中可用,并且由于现代浏览器的限制,...
标签 "源码" 和 "工具" 暗示这个话题可能涉及代码实现和可能的开发工具应用。在实际开发中,开发者可能会寻找更现代、更兼容的替代方法,如 `window.open`、Bootstrap 模态框、Vue 或 React 的自定义组件等。 ...
这个功能在Web应用程序中,尤其是那些需要用户输入额外信息或者确认操作的情况下非常实用。本篇文章将深入探讨`showModalDialog`的使用方法、参数、返回值以及它在现代Web开发中的地位。 `showModalDialog`的基本...
在Web开发中,有时我们需要创建弹出式窗口与用户交互,这时就涉及到`showModalDialog()`和`showModelessDialog()`这两个JavaScript方法。这两个方法都是IE浏览器提供的,用于创建具有不同特性的对话框。 1. `...
### JS弹出对话框 `window.showModalDialog()` 的使用与详解 #### 一、`window.showModalDialog()` 概述 在JavaScript中,`window.showModalDialog()` 是一个非标准但广泛使用的API,用于创建模态对话框。模态...
【window.showModalDialog() 方法详解】 在Web开发中,JavaScript提供了两种对话框方式来与用户交互,即...然而,由于跨浏览器兼容性和用户体验的考虑,开发者在实际应用中需要谨慎使用,并考虑使用现代Web技术替代。
在JavaScript中,`showModalDialog`是一个用于打开模态对话框的方法,主要应用于IE浏览器,从版本4开始支持。模态对话框意味着用户必须关闭该对话框才能与父窗口进行交互。相反,`showModelessDialog`则创建一个非...
`window.postMessage`允许跨窗口通信,即使它们不在同一个源下,这为更复杂的应用场景提供了更大的灵活性。 总的来说,`showModalDialog`是一个在特定场景下仍具实用价值的函数,尤其对于处理简单的对话框和数据...