`

JavaScript 弹出模式对话框

    博客分类:
  • js
阅读更多

用JavaScript 弹出模式对话框 ,其实很简单,只需要调用showModalDialog这个函数就可以实现

下面是一段ASP.NET页面完整代码,它作为模式对话框的父窗口,其实现的功能是点击按钮后将TextBoxTestId和

HiddenUserId 两个控件的值通过查询字符串传递给模式对话框。这里要注意的是showModalDialog函数的第二个

参数,通过这个参数可以把父窗口的对象带给模式对话框,模式对话框可以通过window.dialogArguments这个属性获取到父窗口带入的参数,这里填写的参数是父窗口的window 对象。

<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Test.aspx.cs "  Inherits = " Test "   %>

<! 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  runat ="server" >
    
< title > 无标题页 </ title >
< script  language ="javascript"  type ="text/javascript" >

    
function  btn_Ok_onclick() 
    
{
        
var  testId  =  document.getElementById( " TextBoxTestId " ).value; 
        
var  userId  =  document.getElementById( " HiddenUserId " ).value; 
        
        showModalDialog(
" OpenMessage.aspx?UserId= " + userId  
            
+   " &TestId= "   +  testId ,window,
            
' dialogwidth:450px;dialogheight:480px;help:0;center:yes;resizable:0;status:0;scroll:yes ' );
            
        
return ( false );            
    }


    
</ script >     
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:HyperLink  ID ="HyperLink1"  runat ="server"  NavigateUrl ="~/Default.aspx" > HomePage </ asp:HyperLink >< br  />
        
< asp:HyperLink  ID ="HyperLink2"  runat ="server"  NavigateUrl ="~/Default.aspx"  Target ="_blank" > HomePageNewWindow </ asp:HyperLink >< br  />
        
< asp:TextBox  ID ="TextBoxTestId"  runat ="server" ></ asp:TextBox >
        
&nbsp;
        
< asp:Button  ID ="ButtonTestId"  runat ="server"  Text ="Button"  OnClientClick ="btn_Ok_onclick()"   />
        
< asp:HiddenField  ID ="HiddenUserId"  runat ="server"   />
    
</ div >
    
</ form >
</ body >
</ html >

下面是模式对话框窗体后台代码,这个很简单,就是将父窗口通过查询字符串带入的两个参数复制给OpenMessage窗体的相应控件。

public   partial   class  OpenMessage : System.Web.UI.Page
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    
{
        LabelUserId.Text 
=  Request.QueryString[ " UserId " ];
        TextBoxTestId.Text 
=  Request.QueryString[ " TestId " ];
    }

OpenMessage窗体点击确认按钮后要将其窗体中控件TextBoxtTestId的值带回给父窗口,通过如下

代码实现

< script language = " javascript "  type = " text/javascript " >

    
function  btn_Ok_onclick() 
    
{
        
var  testId  =  document.getElementById( " TextBoxTestId " ).value; 
        window.dialogArguments.document.getElementById(
" TextBoxTestId " ).value  =  testId;
       
 window.close();
    }


    
</ script >

这里可以看到,window.dialogArguments 实际上是前面父窗口调用时带入的父窗口的windows对象

所以对这个对象的document属性进行操作,就可以实现对话框子窗口到父窗口的参数传递,非常方便。

 

 

作个记录。

Javascript里面分模式对话框和非模式对话框,其实两者区别就是在对话框被关闭之前用户能否在同一页面的其他地方进行工作。比如“打开文件”对话框便是典型的模式对话框,在你对这个对话框做出动作才能对打开该对话框的程序进行其他操作,而非模式对话框则不必。

模式对话框:showModalDialog
非模式对话框:showModelessDialog

1 vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
2 vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])

 

 

返回值:vReturnValue,由对话框返回当然就是返回值了;
sURL:必选,为你要打开的页面;
vArguments:可选,用来向对话框传递参数;
sFeatures:可选,打开对话框的属性,各个属性直接用分号(;)隔开,包括以下一些参数,供参考:

1.   dialogHeight:   对话框高度
2.   dialogWidth:   对话框宽度
3.   dialogLeft:      离屏幕左边的距离
4.   dialogTop:      离屏幕上边的距离
5.   center:           { yes | no | 1 | 0 } :              口是否居中,默认yes,但仍可以指定高度和宽度
6.   help:              {yes | no | 1 | 0 } :               是否显示帮助按钮,默认yes
7.   resizable:        {yes | no | 1 | 0 } [IE5+]:    是否可被改变大小,默认no
8.   status:           {yes | no | 1 | 0 } [IE5+]:     是否显示状态栏。默认为yes[ Modeless]或no[Modal]
9.   scroll:             { yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes
10.   dialogHide:    { yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no
11.   edge:            { sunken | raised }:             指明对话框的边框样式。默认为raised
12.   unadorned:   { yes | no | 1 | 0 | on | off }:默认为no

分享到:
评论

相关推荐

    jQuery的弹出警告对话框美化插件

    4:这些方法都模拟了Windows的模式对话框。在你改变改变浏览器窗口大小时候,它能够自适应用户 窗口的调整。 5:如果你引入了jQuery UI Draggable plugin插件,那这个插件也可以被自由拖动。 详细出处参考:...

    弹出网页模式对话框

    在网页设计和开发中,"弹出网页模式对话框"是一种常见的交互手段,它用于向用户展示信息或者获取用户的输入,而不会离开当前页面。这种技术通常涉及到JavaScript、HTML和CSS的综合运用,以实现优雅的用户体验。接...

    JS实现弹出下载对话框及常见文件类型的下载

    标题和描述中提到的关键知识点主要包括如何使用JavaScript实现文件下载,弹出下载对话框以及如何处理常见文件类型的下载。在给定的文件内容中,详细介绍了几个关键步骤和技术细节: 1. 实现文件下载的基本原理和...

    SweetAlert2弹出消息对话框插件

    SweetAlert2弹出消息对话框插件是一款含有多种情景模式的jQuery模态消息对话框代码,用于替代浏览器默认的弹出对话框,它提供各种参数和方法,支持嵌入图片,背景,HTML标签等,功能非常强大。 再献上一个相关的带6...

    JQuery 模式对话框实例

    "JQuery 模式对话框实例"是指使用 jQuery 创建的一种特殊的对话框,它在页面上弹出时,会将背景变暗,使用户无法与背景中的其他元素交互,直至对话框关闭。这种模式对话框常用于警告、确认、输入信息等场景。 在 ...

    点击上传弹出上传对话框extjs+strust2.rar

    【标题】"点击上传弹出上传对话框extjs+strust2.rar" 是一个与Web开发相关的资源,其中涉及到两种关键技术:ExtJS和Struts2。这个压缩包可能包含了一个完整的示例或教程,用于展示如何在Web应用程序中实现一个功能,...

    服务器端弹出对话框确认

    在IT行业中,服务器端弹出对话框确认是一种常见的交互设计技术,主要应用于用户提交关键操作前需要确认的情景。在Web应用中,我们通常通过JavaScript或者服务器端脚本实现这一功能,以确保用户对即将执行的操作有...

    z_dialog弹出层对话框

    在IT行业中,弹出层对话框(通常称为dialog或modal)是网页应用中常见的交互元素,用于显示警告、询问用户信息或提供附加功能。"z_dialog"是一个专门针对这一需求设计的插件,旨在提供一个功能强大且灵活的解决方案...

    JSP弹出窗口和模式对话框.doc

    ### JSP弹出窗口和模式对话框:深入解析与实用技巧 #### 一、JSP弹出窗口:window.open()的全面指南 JSP(JavaServer Pages)是一种用于生成动态网页的技术,它允许开发者在服务器端执行Java代码,然后将结果发送...

    模式对话框传值实例

    首先,模式对话框通常由JavaScript库如jQuery UI或Bootstrap提供,它们提供了简洁的API来创建和控制对话框。在HTML文件`a.html`中,我们可能会看到如下结构: ```html &lt;!DOCTYPE html&gt; ...

    点登陆弹出登陆对话框的层

    "点登陆弹出登陆对话框的层"是一个常见的交互设计模式,常见于许多网站和应用程序中,如163博客。这种设计使得用户无需离开当前页面即可完成登录操作,提升了用户的操作便捷性。 登录对话框通常是通过JavaScript...

    模式对话框调页面

    例如,当用户点击一个按钮时,弹出一个对话框,并在其中加载一个网页,允许用户在对话框内浏览内容并执行某些操作,而不会影响到主页面。 标签“源码”暗示了博客可能提供了实际的代码示例。这些示例可能包括如何...

    仿中关村在线参数修改弹出对话框

    在IT行业中,开发用户界面时,常常需要设计各种交互元素,如弹出对话框,以增强用户体验并提供必要的操作功能。"仿中关村在线参数修改弹出对话框"是一个典型的实例,它涉及到前端UI设计、后端数据处理以及数据库交互...

    asp.net中模式对话框的使用以及删除时确认

    在ASP.NET开发中,模式对话框(Modal Dialog)是一种常见的用户交互方式,它可以在用户进行特定操作时弹出,阻止用户与页面其他部分的交互,直到对话框被关闭。模式对话框常用于需要用户确认、输入信息或者显示警告...

    ASP.Net中的模式对话框

    在ASP.NET中,模式对话框(Modal Dialog)是一种常见的UI设计元素,它在用户界面中弹出一个窗口,要求用户进行交互,直到完成操作或关闭对话框才能继续使用主应用程序界面。这种设计可以有效地引导用户专注于当前的...

    javascript网页特效实例大全(13-19)

    实例388 在弹出的网页模式对话框中选择个性头像 645 实例389 时间选择器 647 实例390 弹出提示对话框并重定向网页 649 实例391 删除数据前弹出确认对话框 650 18.2 其他 651 实例392 树状导航菜单 651 ...

    点击登录注册按钮后弹出对话框

    "点击登录注册按钮后弹出对话框"这个标题所描述的功能,是许多网站和应用程序常见的用户体验设计模式。它旨在提供一个简洁、直观的方式,让用户能够快速进行登录或注册操作,而无需离开当前页面或打开新窗口。 实现...

    ASP.NET&Javascript实现半透明背景&模式弹出个性化页面实例

    开发Web应用时,经常会有弹出模式对话框的情况,可以直接调用window.showModalDialog()方法,一般情况就可以了。 但有一些应用场景,需要我们弹出一些自定义控件或页面,同时用一层半透明的背景将页面的其他地方...

    C# 语言编写VS2005开发ASp.net模式对话框的应用例子

    这个控件负责在需要时弹出对话框,并在用户处理完对话框内容后将其关闭。 ```asp TargetControlID="Button1" PopupControlID="Panel1" BackgroundCssClass="modalBackground" /&gt; ``` 3. **创建对话框内容**:...

    js弹出模式对话框,并接收回传值的方法

    模态对话框是一种常用于Web开发中的用户交互方式,它允许在不离开当前页面的情况下,通过弹出另一个页面来获取用户的输入信息。这一技术在需要用户进行选择、确认或输入信息时尤为有用。 首先,我们通过使用window....

Global site tag (gtag.js) - Google Analytics