IE的模式对话框设计

对话框|设计

  在开发 Intranet Web Mis 的过程中,大家发现如果运用模式对话框,程序的流程将更为清楚。在某些情况,用户必须进行某些操作之后,才能继续后面的事情。比如:某些安全性要求比较高的操作,需要操作者输入口令以确认。如果实现了模式对话框,那么一个WEB程序看上去更象一个VB 或 DELPHI 开发的应用程序。结合运用 ASP 和 DHTML ,可以实现模式对话框。
  本文以 msgbox 的实现为例。客户端 VBScript 有一个函数 Msgbox() (以及衍生出来的Alert()、confirm())。我们常常需要 msgbox 显示一些简要提示或是简单选择,但是遗憾的是,Msgbox 功能有巨大缺陷。如果是中文句子,在西文系统下,只怕只能看到一串“ ???”即使安装了中文平台(如南极星)。客户端 Jscript 类似的函数Alert() 和 confirm() ,当然也存在着相同的问题。
  幸好,在微软 DHTML 说明书找到了一个函数: showModalDialog() 。结合 DHTML 和ASP 便可实现 MsgBox 的功能,并且无操作平台 CODEPAGE 不同的烦恼。

  <<<< showModalDialog 语 法 >>>>
  variant = object.showModalDialog(sURL [, vArguments [, sFeatures]])
  参数说明:
  sURL:指定要装载和显示的文件的 URL 地址。
  vArguments:可选。Variant 变量在显示文件时设定的参数。这个参数可以传送包括数组在内的数据,对话框通过访问 window 对象的 dialogArguments 属性,来获得这些属性。(注意:通过 ASP 文件后面加?,可以向 ASP 发送参数!)
  sFeatures:可选。指定对话框窗体的参数,可有下列内容。
  语法描述:
  dialogWidth:number 窗口宽度
  dialogHeight:number 窗口高度
  dialogTop:number 窗口上部坐标
  dialogLeft:number 窗口右部坐标
  center:{yes | no | 1 | 0 } 是否居中(缺省为yes)

  <<<< 以 下 为 msg.asp 源 码 >>>>
    <%@ LANGUAGE="VBSCRIPT" %>
    <%
    dim title
    dim msg
    dim itype
    title=request("title")
    msg=request("msg")
    itype=request("type")
    %>
   
    <html>
    <head>
    <meta NAME="GENERATOR" Content="Microsoft FrontPage 3.0">
    <meta HTTP-EQUIV="Content-Type" content="text/html; charset=gb_2312-80">
    <title><%=title%></title>
    </head>

    <body language="javascript" topmargin="0" leftmargin="0" bgcolor="#000000" text="#FFFF00">
    <table border="0" cellpadding="0" width="100%" cellspacing="0">
    <tr>
    <td width="100%"><p align="center"><br><%=msg%><br>
    <br>
    <%if itype=0 then
    response.write "<input type='button' value='确 定' name='cmdOk' >"
    elseif itype=1 then
        response.write "<input type='button' value='确 定' name='cmdOk' >  "
        response.write "<input type='button' value='取 消' name='cmdCANCEL' >"
    elseif itype=2 then
        response.write "<input type='button' value=' 是 ' name='cmdYes' >  "
        response.write "<input type='button' value=' 否 ' name='cmdNo' >"
    end if%>
    </td>
    </tr>
    </table>
    </body>
    </html>

  <<<< 调 用 范 例 >>>>
    <html>
    <head>
    <meta NAME="GENERATOR" Content="Microsoft FrontPage 3.0">
  <meta HTTP-EQUIV="Content-Type" content="text/html;
    charset=gb_2312-80">
    <title>Document Title</title>
    </head>
    <script langauge="javascript">
    function message(title,msg,type)
    {
    var ret=0;
    ret=showModalDialog(
    "msg.asp?itle="+title+"&msg="+msg+"&type="+type,
    "","dialogWidth:30;dialogHeight:8;center:1")
    return ret
    }
    // 此 函 数 将 调 用 方 法 简 化 , 使 它 在 调 用 方 法 上 看 起 来 更 象 系 统 的 MSGBOX
    </script>
    <body>
    <form method="POST" action="../_vti_bin/shtml.dll/msg/test.asp" webbot-action="--WEBBOT-SELF--">
    <p><input type="button" value="test" name="cmdTest1" language="javascript"
        ></p>
    </form>
    </body>
    </html>

时间: 2024-10-14 21:50:47

IE的模式对话框设计的相关文章

在WPF的Page模式如何设计对话框

问题描述 请教各位同仁,在WPF的Page模式如何设计对话框,如果是使用Showdialog的话,没有办法起到独占的作用:如果使用Popup的话,却不够灵活,特别是像一些拖动.返回值等操作觉得不能完美的实现.请问诸位有什么妙招,如蒙不吝赐教,将不胜感激. 解决方案 解决方案二:帮顶解决方案三:该回复于2008-03-19 08:35:17被版主删除解决方案四:将对话框的Owner属性设为App.Current.MainWindow试试.

UX设计中对话框设计的5个准则

本文讲的是UX设计中对话框设计的5个准则, 在UI设计中,友好的对话框设计会使人机交互更高效,可以用户更方便.快捷的得到web页(或APP)想传达给用户的信息.但是如果设计的不好,那么对话框不但不能给用户带来便捷,反而会影响用户对信息的理解.为了让用户不受到困扰,我们应该了解如何才能设计好对话框. 什么是对话框? 对话框是一种覆盖式的,指引用户信息交互的设计.告知用户重要信息,并且让用户做出决定,或者做出相应的选择.不管是在web,还是在app中或是移动端,对话框的作用就是将用户的注意力从屏幕转

IE中非模式对话框(showModelessDialog)应用

model|对话框 非模式对话框是IE的一种窗口形式,打开非模式对话框后,在其被关闭之前,主调窗口不会继续解析其后的htm代码,同时主调窗口也不会被选中.主调窗口与非模式窗口的信息传递1.函数调用传递方式vReturnValue = window.showModelessDialog ( sURL [, vArguments] [, sFeatures] ) 主调窗口通过showModelessDialog方法的第二个参数 vArguments 向非模式窗口传递参数,该参数可以是数组,也可以是D

将模式对话框的返回值回送(PostBack)到服务端

对话框 在一些应用中,希望将模式对话框的值回送(PostBack)到服务端,也就是执行一个服务端操作,从而刷新页面. 举个例子:比方说新建一个订单,此时希望能在模式对话框中选择产品,并将产品的ID返回,同时刷新订单中的产品项,解决的方法有多种,这里只介绍执行服务器操作的方法. 要将客户端数据回送(PostBack)到服务端并执行相应操作,显然必须提交form并设置隐藏域__EVENTTARGET的值,好在asp.net已为我们完成了这些,只要以合适的参数调用__doPostBack就可以了. 另

无模式对话框的创建与使用

在编程过程中,对话框经常用到,但对无模式和模式对话框的创建和销毁过程,经常有误解,下面提供一个无模式对话框的例子来剖析无模式对话框的形成: 无模式对话框与有模式对话框不同的是在创建后其他窗口都可以继续接收用户输入,因此无模式对话框有些类似一个弹出窗口.创建无模式对话框需要调用BOOL CDialog::Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );之后还需要调用BOOL CDialog::ShowWindow( SW_SHOW);进行显示

Windows SDK笔记(五):非模式对话框

一.概述 使用DialgBox建立的对话框是"模式对话框",只有关闭对话框后,程序的其他窗口才能进行操作. 与此相对应,存在"非模式对话框",对话框建立后,并不强制要求用户立即反应,而是与其他窗口同时接受用户操作. 二.建立 非模式对话框使用CreateDialg建立. 可以在WinMain中建立主窗口后建立,对话框句柄保存备用. hDlgModeless = CreateDialog ( hInstance, TEXT ("ColorScrDlg&quo

qt-Qt相关问题,非模式对话框的销毁

问题描述 Qt相关问题,非模式对话框的销毁 Qt中我在主窗体(show函数)调用一个非模式对话框,在非模式对话框使用完后,我想返回那个主窗体,我要怎么销毁当前这个非模式对话框? 解决方案 如果想用主窗口去銷毀的話可以讓對話框發個信號給主窗口 然後在主窗口的槽函數里銷毀. 解决方案二: 非模式对话框上没有什么按钮么,比如说关闭按钮

c++问题-vc++无模式对话框显示问题

问题描述 vc++无模式对话框显示问题 对话框架构下,在CWinApp派生类的InitInstance函数中,启动对话框之前,构造了另一个只含有进度条和文本框的对话框,用来显示加载数据的进度.此对话框为无模式对话框,初始显示正常,但一旦最小化,再还原后,进度条和文本框均无法显示,背景也变为白色.对话框架构下,再使用一个无模式对话框确实比较另类,所以遍查不到解决方法,恳请哪位高手帮忙! 解决方案 http://blog.163.com/guo_ahui/blog/static/4465088320

Qt之模式、非模式、半模式对话框

简述 关于"模式"和"非模式"对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为"半模式". 简述 模式对话框 描述 效果 源码 非模式对话框 描述 效果 源码 半模式对话框 描述 效果 源码 更多参考 模式对话框 描述 阻塞同一应用程序中其它可视窗口输入的对话框.模式对话框有自己的事件循环,用户必须完成这个对话框中的交互操作,并且关闭了它之后才能访问应用程序中的其它任何窗口.模式对话框仅阻止访问与对话相