• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

IE的模式对话框设计

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 14次 | 进入软件测试论坛讨论

领测软件测试网
  在开发 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>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网