showModalDialog使用方法

----   在传统的WINDOWS   EXE程序中,模态对话框经常出现。例如,写字板程序(WORDPAD.EXE)中的“查看/选项(O)...”菜单被点中后,跳出“选项”对话框,用户一定要响应该对话框,如果该对话框不关闭,是无法回到主窗口的。这经常被应用于要求用户输入多个参数的场合。我们在浏览器中也可以简单地实现该功能。    
  ----   在IE浏览器中,要求用户输入可以使用VBScript的INPUTBOX函数、或者J   Script的window.prompt方法,但是界面都比较单调,并且只能传递一个参数,而用DHTML来实现就灵活多了。    
   
  ----   1.   基本语法    
   
  ----   window对象有一个方法称为showModalDialog,我们可以在页面按钮的onclick中写如下代码:    
   
  <   BUTTON   οnclick="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 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值