快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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" onload="window.returnValue=0" 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\\\' onclick=\\\'window.returnValue=1;window.close()\\\'>"
    elseif itype=1 then
        response.write "<input type=\\\'button\\\' value=\\\'确 定\\\' name=\\\'cmdOk\\\' onclick=\\\'window.returnValue=1;window.close()\\\'> "
        response.write "<input type=\\\'button\\\' value=\\\'取 消\\\' name=\\\'cmdCANCEL\\\' onclick=\\\'window.returnValue=0;window.close()\\\'>"
    elseif itype=2 then
        response.write "<input type=\\\'button\\\' value=\\\' 是 \\\' name=\\\'cmdYes\\\' onclick=\\\'window.returnValue=1;window.close()\\\'> "
        response.write "<input type=\\\'button\\\' value=\\\' 否 \\\' name=\\\'cmdNo\\\' onclick=\\\'window.returnValue=0;window.close()\\\'>"
    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"
        onclick="alert(message(\\\'title\\\',\\\'message is here\\\',2))"></p>
    </form>
    </body>
    </html>
返回类别: 教程
上一教程: ADO如何新增修改?除数据库的资料呢
下一教程: 浅谈无刷新取得远程数据技术

您可以阅读与"IE的模式对话框设计"相关的教程:
· 强迫输入密码对话框
· ASP中如何设计跨越域的COOKIE
· ASP 之 COOKIES 讲座
· 趣味访客计数器设计两则
· 探讨一下rs(0)和rs("fieldname")的执行效率
    微笑服务 优质保证 索取样品