当前位置: 移动技术网 > IT编程>开发语言>.net > 子窗口给父窗口赋值实现思路及案例演示

子窗口给父窗口赋值实现思路及案例演示

2017年12月12日  | 移动技术网IT编程  | 我要评论

这就是我的主人动漫,小偷被抓咬舌吐血,n0445

今天insus.net练习javascript,实现从父窗口打开一个子窗口,在子窗口处理一些结果之后,把结果赋值于父窗口的文本框内。可看效果:
 
在站点创建两个aspx页面,一个是pagea.aspx另一个是pageb.aspx:
在pagea.aspx的<head>节点内,写javascript脚本,脚本有两个方法,一个是打开子窗口,一个是为文本框设值的方法:
复制代码 代码如下:

<script type="text/javascript">
function popup(url) {
objsubwin = window.open(url, "popup", "toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=0,width=300,height=80");
objsubwin.focus();
}
function setvalue(val) {
var amount = document.getelementbyid('<% = textboxamount.clientid %>');
amount.value = val;
}
</script>

然后在<body>节点内,拉一个textbox和一个button:
复制代码 代码如下:

amount:
<asp:textbox id="textboxamount" runat="server" enabled="false"></asp:textbox>
<asp:button id="button1" runat="server" text="call child window" onclientclick="popup('pageb.aspx')" />

ok,父页完成,接下来写pageb.aspx子页,还是先写javascript脚本,也有两个函数,一个是验证文本框只能输入数字,另一个是计算方法,在calc()方法内,有呼叫到父窗口的方法。
复制代码 代码如下:

<script type="text/javascript">
function isnumeric(keycode) {
return ((keycode >= 48 && keycode <= 57) || keycode == 8)
}
function calc() {
if (window.opener != null && !window.opener.closed) {
var qty = document.getelementbyid('<% = textboxqty.clientid %>');
var price = document.getelementbyid('<% = textboxprice.clientid %>');
window.opener.setvalue(parseint(qty.value) * parseint(price.value));
}
}
</script>

在pageb.aspx的<body>节点内,拉两个文本框,一个button铵钮。
复制代码 代码如下:

数量<asp:textbox id="textboxqty" runat="server" onkeydown="return isnumeric(event.keycode);" onpaste="return false;" width="50"></asp:textbox>
* 单价<asp:textbox id="textboxprice" runat="server" onkeydown="return isnumeric(event.keycode);" onpaste="return false;" width="50"></asp:textbox>
<asp:button id="button1" runat="server" text="calculate" onclientclick="calc()" />

另外附加,有关文本框验证的文章:

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网