模态窗口传值

来源:互联网 发布:麻将 源码 编辑:程序博客网 时间:2024/06/06 02:20

---- 1. 基本语法

---- window对象有一个方法称为showModalDialog,我们可以在页面按钮的onclick中写如下代码:

< BUTTON onclick="window.showModalDialog('dialog.htm')" >Search< /BUTTON >

---- 系统会在新窗口中打开dialog.htm页面,并且等待用户响应,如果用户不响应该页面,那么主页面将得不到光标。
---- 在dialog.htm中设置window对象的returnValue属性,就可以让主页面得到返回值。例如,在页面的确定按钮的onclick中写:

window.returnValue = window. document.all.iptPeopleID.value

---- 将输入框iptPeopleID的值赋给window对象的returnValue属性。在主页面中就可以得到这个值:
    var str = showModalDialog("dialog1.htm")

---- 2. 传递初始化值
---- 如果要向模态页面中传递初始化值,可以在主页面中用如下语句:

var cSearchValue=showModalDialog('dialog.htm', 'ABC')
在dialog.htm中使用window.dialogArguments属性可以得到'ABC'。

例如:
< SCRIPT FOR=window EVENT=onload LANGUAGE="JScript" >
if (window.dialogArguments != null)
        window.document.all.iptPeopleID.value = window.dialogArguments;
< /SCRIPT >

---- 3. 传递多个数值
---- 如果要向模态页面中传递多个参数,可以先在主页面中定义一个对象,

function myDialog() {
    var str1;
    var str2;
}

---- 显示模态页面之前初始化该对象,然后调用showModalDialog方法。
function WelcomeYou(iniStr1,iniStr2) {
    myDialog.str1 = iniStr1;
    myDialog.str2 =iniStr2 ;

if (showModalDialog("dialog2.htm", myDialog)
==false) //将对象传入
......

---- 在模态页面中,可以用这样的代码
window.document.all.iptID.value= window.dialogArguments.str1
来引用数值,或者用这样的代码对之赋值
window.dialogArguments.str1 =window.document.all.iptID.value

---- 完整例程如下:
---- 对于只传递一个参数的情况,见:Main1.htm和dialog1.htm。

---- 对于传递多个参数的情况,见:Main2.htm和dialog2.htm。


父窗体:
dim xxx '返回值
dim yyy '传到子窗体的参数
var xxx = ShowModalDialog('xxx.asp','yyy','dialogWidth:100px;DialogHeight=290px;status:no')
子窗体:
dim yyy '从父窗体传来的参数
dim xxx '传回父窗体的参数
yyy = window.dialogArguments
xxx = window.returnValue
 
 

 

32.关于模态窗口(showModalDialog)的专题讨论! 详细见模态窗口压缩包


1.模态窗口的打开 
2.模态窗口的关闭 
3.模态窗口的传递参数。 
4.其他。。。。 


1.window.showModalDialog("DialogPage.aspx","newwin","dialogHeight: 200px; dialogWidth: 150px; dialogTop: 458px; dialogLeft: 166px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;"); 

2.window.close(); 

3.传值 
ParentPage.aspx: 
window.showModalDialog("DialogPage.aspx?para1=aaa&para2=bbb"); 

DialogPage.aspx: 
string str1=Request.QueryString["para1"].toString(); 
string str2=Request.QueryString["para2"].toString(); 

返回值 
DialogPage.aspx: 
window.returnvalue="aaa"; 

ParentPage.aspx: 
<script language="jscript">
function DeptReturn()
{
var result = window.showModalDialog('DialogPage.aspx','','width=700,height=400,top=150,left=200,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');
if (result)
{
document.aspnetForm.ctl00_contentplaceHolder1_TextBox3.value=result; //在master页面下控件的名是这样,非master的页面 var tb=document.getElementById ("文本框控件名txtAssessid"); tb.value = result;
}
}
</script>

ParentPage.aspx.cs
ButtonDept.Attributes["onclick"] = "return DeptReturn();";

4. 
aspx页面在showmodeldialog情况下为什么一提交就重新打开一个页面? 
showmodaldialog打开的页面中在<head></head>之间加入一行:<base target="_self">

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕九个月肚子长痱子怎么办 怀孕前体重偏胖怎么办 怀孕打胰岛素血糖控制不好怎么办 孕后期憋的难受怎么办 怀孕6个月不想生怎么办 孕六个月不想要怎么办 怀孕9个月喝酒了怎么办 怀孕8个月喝醉了怎么办 怀孕6个月胃酸烧心怎么办 怀孕7个月胃酸怎么办 怀孕5个月胃酸怎么办 怀孕2个月胃酸怎么办 怀孕六个月胃酸烧心怎么办 孕六个月反胃酸怎么办 怀孕三个月胃酸吐酸水怎么办 孕六个月胃难受怎么办 孕6个月胃酸厉害怎么办 孕妇6个月胃酸怎么办 孕早期胎盘早剥怎么办 孕妇晕车怎么办最有效方法 怀孕了受凉胃疼怎么办 怀孕4个月胎位低怎么办 6个月胎位低怎么办 7个多月了胎位低怎么办 瑜伽按摩球破了怎么办 孕妇吐完胸口疼怎么办 孕25周胸口堵怎么办呢 孕期没做过产检怎么办 宝宝的泪囊堵塞怎么办 瑜伽球塞子丢了怎么办 瑜伽球塞子没了怎么办 练阴瑜伽是想睡怎么办 肠道引流拨断了怎么办 瑜伽动作做不到位怎么办 胃肠吸收不好一直长不胖怎么办 小孩把泡泡糖吞进肚子怎么办 练习瑜伽又?带硬怎么办 天气太热没有空调怎么办 腹股沟岔气怎么办才能快点好 瑜伽馆不给退卡怎么办 膝盖总是凉凉的怎么办