![ASP.NET动态网站设计任务教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/757/31729757/b_31729757.jpg)
任务2-1 建立有验证的登录界面
需求:
建立一个如图2-1所示的登录界面,保证用户名和密码都有非空(或全空格)的输入。
分析:
用JavaScript脚本读取客户端文本框的值并进行判断,用户名和密码为空时,产生提示,并返回false,不产生提交。
实现:
第一步,新建一个页面,在页面上添加一个DIV,选择一个如图2-2所示的图片作为登录界面背景图片。
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00033001.jpg?sign=1739312723-Bvspzx47rFy4Pe6P6BrDGmIlax3o3bVE-0-545dbd12832925754e63bdc1a857b604)
图2-1 登录界面
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00033002.jpg?sign=1739312723-MOjwRcggHwRXzNRrfEOiVCJl9W8vmmzM-0-ed3662c7509c95047a8026e1bedcd9e5)
图2-2 登录界面窗口
第二步,在界面上新建四个DIV,其作用分别为:顶级区域、登录界面区域、标题区域、内容区域。
其中顶级区域包容了登录界面区域,用于控制其内容的字体大小为12px;登录界面区域包容了标题区域和内容区域,用于设置登录界面的背景图片。其代码如清单2-1所示,设计界面如图2-3所示。
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00033003.jpg?sign=1739312723-cbpfyhgSeH2AkpetbHLHxK9CORWlWtIs-0-e9771b11cdf347dd8400a6013cf29fa2)
图2-3 添加了标题和内容区域的登录界面窗口
清单2-1 登录界面区域及其标题区域和内容区域的定义
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00033004.jpg?sign=1739312723-1OZCtHo33cwTzDuJGj0bgcnHYxVngN8Q-0-2b7b30d2f50350e985b69dc6ba37d38f)
注:设置了style="position: absolute"的DIV可以在“设计”选项卡中进行自由拖放以设置区域位置和大小属性。
第三步,为使登录界面中的文字与控件对齐,在内容区域删除文字“内容”,放入table,并设置其相应属性。其代码如清单2-2所示,设计界面如图2-4所示。
清单2-2 布局内容区域<table>标签的定义
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00034002.jpg?sign=1739312723-8AQM3AVH20KypkLeB8HkN0zTACw3Wewp-0-e52659cd09b62a9f7f00515bb3b585c7)
第四步,在TABLE中输入文字和HTML控件(标签),拖放HTML控件(标签)和表格列,直至布局合适为止,产生界面如图2-5所示。
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00034003.jpg?sign=1739312723-q8D2lo8mRGJrnFQHxfIaThKIQEVf4y0F-0-44864c4036765ed576461ed4911aa834)
图2-4 内容区域中添加<table>标签
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00034004.jpg?sign=1739312723-J9j4D3aTQNRvtzdJ8eUZqKw9vU0vrBqb-0-04588c1fd5355ab9561ec5df6c7a532d)
图2-5 <table>标签中添加可见标签
所用HTML控件(标签)及其属性设置如清单2-3所示。
清单2-3 内容区域HTML控件(标签)及其属性设置
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00034005.jpg?sign=1739312723-Z3MoZLaPWrnTTmciIcyOlIjnq3iVcZkS-0-5adbdd3d6dce9a78c165323f22cdc26d)
两个按钮相对表格单元水平靠右,它们的父级td标签添加如下相应样式属性设置style="text-align: right"。
第五步,实现用户名和密码的非空验证。
在submit按钮中添加一个属性设置onclick="return onSubmit()",即:
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00035001.jpg?sign=1739312723-2j1UWZA7Hbtfmf91N6BPR7xTMMtbHPkF-0-6a9698040f37ca7c6a35f41a8027a6a8)
在<head>节中或在界面源代码的最后编写代码应完成以下几件事:
①由id获取HTML标签(或称控件);
②由HTML标签访问其属性;
③由HTML标签其属性进行判断;
④未通过验证的,弹出消息框,提示相关出错信息;
⑤返回false,禁止提交到服务端。
源代码如清单2-4所示。
清单2-4 客户端提交函数的定义
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00035002.jpg?sign=1739312723-2WExdFu3IVH6cbn744YGHieuhVrIwvkd-0-a267719acf0d681445e64bfd842364b5)
说明
(1)要使用JavaScript必须使用script标签。
(2)Function定义了一个函数(或称方法),函数可以带有形参表。
Var是定义局部变量,在函数内部定义的,只在本函数内有效,而在函数外定义的则在多个函数中都有效。
(3)函数名和变量名是区分大小写的。
(4)“提交”按钮的单击事件引发了函数onSubmit的调用。
(5)“重置”按钮的单击事件不需要另外指定事件处理代码。
(6)在编写JavaScript脚本程序时,经常会发生错误。在没其他调试工具的情况下,根据其提供的出错信息及其所在行的行号,为了看清出错行的具体位置,将页面的源代码复制到VS 2013的文本文件中;使用Window函数alert()可以显示你所关心的表达式信息,以帮助JavaScript脚本调试。