JavaScript 弹出子窗体并返回结果到父窗体的实现代码

 更新时间:2016年05月28日 09:22:44   投稿:jingxian  
下面小编就为大家带来一篇JavaScript 弹出子窗体并返回结果到父窗体的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

思路:用window.showModalDialog方法获取到弹出子窗体的引用,再在子页面用window.returnValue="***"来返回结果。

示例代码:(用jQuery简化实现)

父页面:parent.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>父页面</title>
<mce:script language="javascript"><!--
 
function showmodal()
{  
var strReturn = window.showModalDialog("son.html",null,"dialogWidth:800px;dialogHeight:600px;help:no;status:no"); 
var s="您选择了:";
for(var i=0;i<strReturn.length;i++)
{
	s+=strReturn[i]+",";
	}
alert(s);

}
// --></mce:script>
</body>
</html>

子页面 son.html 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>子窗体</title>
<mce:script type="text/javascript" src="jquery-1.4.2.min.js" mce_src="jquery-1.4.2.min.js"></mce:script>
<mce:script type="text/javascript"><!--
var result;
$(function(){
		  $("#send").click(function(){
									 var result=new Array();
											$("[name=a]:checkbox:checked").each(function(){
												result.push($(this).val());									 
																						 });																	
									 window.returnValue=result;
									 window.close();
									 });
		  });
// --></mce:script>
</head>
<body>
<p>
<input type="checkbox" name="a" value="苹果" />苹果
<input type="checkbox" name="a" value="橘子" />橘子
<input type="checkbox" name="a" value="香蕉" />香蕉

<INPUT type="button" value="提交" id="send" /> 

</p>
</body>
</html>

总结:

 参数传递:

1.   要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:
-------------------------------

parent.htm

<script>
     var obj = new Object();
     obj.name="51js";
     window.showModalDialog("son.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>

son.htm

<script>
     var obj = window.dialogArguments
     alert("您传递的参数为:" + obj.name)
</script>

2.   可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:

parent.htm

<script>
     str =window.showModalDialog("son.htm",,"dialogWidth=200px;dialogHeight=100px");
     alert(str);
</script>

son.htm

<script>
     window.returnValue="http://blog.csdn.net/a497785609";
</script> 

扩展:

在.net中,可以通过这种方式来实现AJAX效果。当子页面传递所要选择的参数后,父页面可以实现ICallbackEventHandler接口,直接将获取到的值传回服务器端。或者用UpdatePanel的Load事件来扑捉到传递过来的参数,从而继续进行服务器端处理。

以上这篇JavaScript 弹出子窗体并返回结果到父窗体的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • DIV+CSS+jQ实现省市联动可扩展

    DIV+CSS+jQ实现省市联动可扩展

    这篇文章主要介绍了DIV+CSS+jQ实现省市联动可扩展方法的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • jquery无刷新验证邮箱地址实现实例

    jquery无刷新验证邮箱地址实现实例

    原理非常的简单在用户输入邮箱离开之后我们通用jquery ajax发送数据给mail.php文件,然后由它实现查找此邮箱是不是在数据库中然后反馈对应信息即可
    2014-02-02
  • ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList

    ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList

    这节我们还可以通过直接设置DropDownList属性来设置jQuery validation插件的校验规则和提示信息
    2012-02-02
  • jquery实现侧边弹出的垂直导航

    jquery实现侧边弹出的垂直导航

    这篇文章主要介绍了jquery动画特效结合css实现侧边弹出的垂直导航的方法及代码分享,需要的朋友可以参考下
    2014-12-12
  • jQuery中的for循环var与let的区别

    jQuery中的for循环var与let的区别

    这篇文章主要介绍了jQuery中的for循环var与let的区别 ,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • jQuery最佳实践完整篇

    jQuery最佳实践完整篇

    那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery"。今天的文章则是更进一步,讲解"如何用好jQuery"。
    2011-08-08
  • JQuery DIV 动态隐藏和显示的方法

    JQuery DIV 动态隐藏和显示的方法

    这篇文章主要介绍了JQuery DIV 动态隐藏和显示的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • 原生javascript实现的分页插件pagenav

    原生javascript实现的分页插件pagenav

    这几天要做一个前台页面,涉及到分页,不想自己去写所以在网上找jquery看有没有好用一点的分页组件,结果发现有很多,但是都很麻烦,看到了这个叫pagenav的发现相对来说还是很容易上手的,于是就直接用了,在我看来,能解决问题的办法就是好办法.越简单越好.
    2014-08-08
  • Jquery根据浏览器窗口改变调整大小的方法

    Jquery根据浏览器窗口改变调整大小的方法

    下面小编就为大家带来一篇Jquery根据浏览器窗口改变调整大小的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 理解jquery事件冒泡

    理解jquery事件冒泡

    这篇文章主要介绍了jquery事件冒泡,以及如何阻止jQuery事件冒泡现象,感兴趣的朋友可以参考一下
    2016-01-01

最新评论