JavaScript 弹出窗体点击按钮返回选择数据的实现


Posted in Javascript onApril 01, 2010

首先是父页面的代码:

<head runat="server"> 
<title>无标题页</title> 
<%-- <script type="text/javascript"> 
function openDia() { 
var returned = window.showModalDialog("Default4.aspx?" + (new Date()), window); 
if (returned) { 
document.getElementById("ret").innerHTML = returned; 
} 
else { 
document.getElementById("ret").innerHTML = ""; 
} 
} 
</script> --%> 
<script type="text/javascript"> 
function openDia(){ 
var returned = window.showModalDialog("Default3.aspx?" + (new Date()), window); 
if (returned){ 
document.getElementById("tbtext").value = returned; 
} 
else{ 
document.getElementById("tbtext").value = ""; 
} 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div id="ret"> 
<input id="tbtext" type="text" value="" onclick="openDia();return false;" /> 
</div> 
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="openDia();return false;" /> 
<input id="Hidden1" type="hidden" runat="server" /> 
</form> 
</body> 
</html>

关于加上那个 (new Data()) 是要避免showModalDialog页面自动缓存的问题,导致第二次打开页面,数据没有被刷新,这是因为showModalDialog页面如果每次的URL一样的话,它会自动显示以前在缓存里面的数据。
接着是子页面Default3.aspx的代码:
<head runat="server"> 
<title>无标题页</title> 
<script type="text/javascript"> 
function getSelected(data) { 
var str = data; 
window.returnValue = str.toString(); 
window.close(); 
} 
</script> 
<base target="_self"/> 
</head> 
<body> 
<form id="form1" runat="server" target=""> 
<div> 
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"> 
<Columns> 
<asp:TemplateField> 
<ItemTemplate> 
<asp:LinkButton id="lnkSelect2" runat="server" Text="Select" > </asp:LinkButton> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 
 </div> 
</form> 
</body> 
</html>

Default3.aspx里面有一个gridview控件,数据绑定(自己去绑定,代码就不贴上来了)好后,就是选择自己需要的数据了。
Default3.aspx.cs:
[code]
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton b = (LinkButton)e.Row.FindControl("lnkSelect2");
b.Attributes.Add("OnClick", "javascript:getSelected('" + e.Row.Cells[1].Text + "');");
}
}
[html]
其中Default3.aspx中<head></head>之间的<base target="_self"/>和<form target="">作用是可以避免子页面点击选择按钮后弹出第三个窗体。
例子就这样,具体还是要根据自己的需求s去体验和改进。
Javascript 相关文章推荐
Prototype使用指南之range.js
Jan 10 Javascript
js tab 选项卡
Apr 26 Javascript
js 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
Jan 06 Javascript
AngularJS向后端ASP.NET API控制器上传文件
Feb 03 Javascript
Mongoose经常返回e11000 error的原因分析
Mar 29 Javascript
详解使用 Node.js 开发简单的脚手架工具
Jun 08 Javascript
angular的输入和输出的使用方法
Sep 22 Javascript
微信小程序开发之转发分享功能
Oct 22 Javascript
微信小程序开发中var that =this的用法详解
Jan 18 Javascript
js 实现打印网页中定义的部分内容的代码
Apr 01 #Javascript
js prototype截取字符串函数
Apr 01 #Javascript
javascript getElementsByClassName函数
Apr 01 #Javascript
JS getStyle获取最终样式函数代码
Apr 01 #Javascript
Javascript 通过json自动生成Dom的代码
Apr 01 #Javascript
JS中confirm,alert,prompt函数使用区别分析
Apr 01 #Javascript
JavaScript中实现块作用域的方法
Apr 01 #Javascript
You might like
php获取301跳转URL简单实例
2013/12/16 PHP
php时间函数用法分析
2016/05/28 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
np.dot()函数的用法详解
2020/01/17 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
python3.5的包存放的具体路径
2020/08/16 Python
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
工作睡觉检讨书
2014/02/25 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
节约用水广告语60条
2019/11/14 职场文书
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python