仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2788|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页编程之用ASP静态生成JavaScript的表单验证代码...

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-16 00:24:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;javascript|表单验证|静态     表单的验证是开辟WEB使用法式中常碰到的一关。有时分咱们必需包管表单的某些项必需填写、必需为数字、必需是指定的位数等等,这时候候就要用到表单验证了,普通咱们经常使用的表单验证有2种体例:

1、编写JavaScript或VBScript的表单验证函数,在客户端停止验证;
2、在表单提交后,利用ASP的办法Request.Form获得表单的输出值停止判别,然后前往了局,这是在办事端停止验证;

  这2种体例都有其优弱点,好比第1种体例速度对照快,并且凡是利用正告框的体例,用户可以很快的依据提醒完成表单的填写,然而弱点就是用户的阅读器必需是撑持JavaScript剧本的,再否则假如他封闭了JavaScript,那就!@#$%&^*(小田已倒在地上了^_^);而第2种体例的兼容性对照好,然而弱点是速度对照慢(提交到办事端,在前往)并且利用也不便利。此次次要是用JavaScript的办法来验证,固然,假如同时用2种体例来验证是最保险了,不外(汗…………)要累逝世咱们这些法式员了:)

  下面注释了表单验证的2中体例,上面就详细来说讲静态生成JavaScript的概念。为何要静态生成呢?由于这类客户真个验证代码是很烦琐的,假如每次都要本人编写真是累啊!用惯DW(Dreamweaver)或UD的伴侣能够凡是利用表单验证的插件,利用后生成的代码也没有艺术感,并且良多是用不到的(代码冗余)。小田要讲的是,生成完整合适表单情形的代码。

声明:小田对JavaScript其实不精晓,这里只是想谈谈静态生成的办法,JS的高手完整可以本人改。

那末咱们入手下手喽。

1、咱们先来看看一段复杂的JavaScript的验证代码
<formname="form1"><inputtype="text"name="name"></form>[/code]

这段代码是验证表单form1的name表单项,必需填写内容。这里就有几个关头的局部:表单域称号、表单项称号、判别语句;这些就是咱们上面编写ASP函数的关头了。

2、若何生成JavaScript代码。最复杂的,就是用Response.Write输入了,好比把下面代码输入就能够是
[/code]<P>

这里的vbCrlf是一个回车换行,&是毗连符,&_是代码换行毗连的字符。

3、这段代码的头和尾是根基固定不变的,变更的是两头的if判别局部,咱们可以先把这局部写成函数,小田已写好一个了,人人可以参考一下,上面是代码
FunctionfindJS(frmName,errStr)
DimtmpArr
Dimi
'参数值
i=0
'获得毛病列表,创立数组
tmpArr=Split(errStr,"|")
'输入查询前提
SelectCasetmpArr(i+1)
Case"0"'必填的Text类型
findJS="if((document."&frmName&"."&tmpArr(i)&".value)=="""")"&vbCrlf&_
"{"&vbCrlf&_
"window.alert('"&tmpArr(i+2)&"');"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".select();"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".focus();"&vbCrlf&_
"returnfalse;"&vbCrlf&_
"}"&vbCrlf
'"else"&vbCrlf&_
'"returntrue;"&vbCrlf
ExitFunction
Case"1"'必填的ListMenu类型
findJS="if((document."&frmName&"."&tmpArr(i)&".value)=="""")"&vbCrlf&_
"{"&vbCrlf&_
"window.alert('"&tmpArr(i+2)&"');"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".focus();"&vbCrlf&_
"returnfalse;"&vbCrlf&_
"}"&vbCrlf
'"else"&vbCrlf&_
'"returntrue;"&vbCrlf
ExitFunction
Case"2"'必需为数字的Text类型
findJS="if(isNaN(document."&frmName&"."&tmpArr(i)&".value))"&vbCrlf&_
"{"&vbCrlf&_
"window.alert('"&tmpArr(i+2)&"');"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".select();"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".focus();"&vbCrlf&_
"returnfalse;"&vbCrlf&_
"}"&vbCrlf
'"else"&vbCrlf&_
'"returntrue;"&vbCrlf
ExitFunction
Case"3"'必需为指定位数的Text类型
findJS="if(document."&frmName&"."&tmpArr(i)&".value.length="&tmpArr(i+3)&")"&vbCrlf&_
"{"&vbCrlf&_
"window.alert('"&tmpArr(i+2)&"');"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".select();"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".focus();"&vbCrlf&_
"returnfalse;"&vbCrlf&_
"}"&vbCrlf
'"else"&vbCrlf&_
'"returntrue;"&vbCrlf
ExitFunction
Case"4"'必需大于指定位数的Text类型
findJS="if(document."&frmName&"."&tmpArr(i)&".value.length>"&tmpArr(i+3)&")"&vbCrlf&_
"{"&vbCrlf&_
"window.alert('"&tmpArr(i+2)&"');"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".select();"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".focus();"&vbCrlf&_
"returnfalse;"&vbCrlf&_
"}"&vbCrlf
'"else"&vbCrlf&_
'"returntrue;"&vbCrlf
ExitFunction
Case"5"'必需为Email的Text类型
findJS="if((!emailReg.test(document."&frmName&"."&tmpArr(i)&".value))&&(document."&frmName&"."&tmpArr(i)&".value!=''))"&vbCrlf&_
"{"&vbCrlf&_
"window.alert('"&tmpArr(i+2)&"');"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".select();"&vbCrlf&_
"document."&frmName&"."&tmpArr(i)&".focus();"&vbCrlf&_ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。Apache ASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。
因胸联盟 该用户已被删除
19#
发表于 2015-7-11 19:56:23 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
金色的骷髅 该用户已被删除
18#
发表于 2015-7-10 06:50:17 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
小女巫 该用户已被删除
17#
发表于 2015-6-25 05:58:52 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
愤怒的大鸟 该用户已被删除
16#
发表于 2015-6-22 22:52:43 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
山那边是海 该用户已被删除
15#
发表于 2015-6-11 21:23:59 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
谁可相欹 该用户已被删除
14#
发表于 2015-6-11 14:42:43 | 只看该作者
掌握asp的特性而且一定要知道为什么。
再见西城 该用户已被删除
13#
发表于 2015-4-27 04:13:54 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
admin 该用户已被删除
12#
发表于 2015-4-26 17:10:40 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
活着的死人 该用户已被删除
11#
发表于 2015-4-16 07:13:23 | 只看该作者
掌握asp的特性而且一定要知道为什么。
再现理想 该用户已被删除
10#
发表于 2015-4-12 13:09:39 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
9#
发表于 2015-4-8 14:04:38 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
柔情似水 该用户已被删除
8#
发表于 2015-4-7 23:22:47 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
老尸 该用户已被删除
7#
发表于 2015-4-4 14:44:28 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
透明 该用户已被删除
6#
发表于 2015-3-26 13:45:02 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
飘飘悠悠 该用户已被删除
5#
发表于 2015-3-24 06:30:56 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
第二个灵魂 该用户已被删除
地板
发表于 2015-3-17 20:10:35 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
乐观 该用户已被删除
板凳
发表于 2015-3-11 04:34:20 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
蒙在股里 该用户已被删除
沙发
发表于 2015-3-4 20:08:52 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
若天明 该用户已被删除
楼主
发表于 2015-2-16 00:50:33 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表