仓酷云
标题:
ASP网页编程之用ASP静态生成JavaScript的表单验证代码...
[打印本页]
作者:
分手快乐
时间:
2015-2-16 00:24
标题:
ASP网页编程之用ASP静态生成JavaScript的表单验证代码...
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥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。
作者:
若天明
时间:
2015-2-16 00:50
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
作者:
蒙在股里
时间:
2015-3-4 20:08
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者:
乐观
时间:
2015-3-11 04:34
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者:
第二个灵魂
时间:
2015-3-17 20:10
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者:
飘飘悠悠
时间:
2015-3-24 06:30
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者:
透明
时间:
2015-3-26 13:45
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
作者:
老尸
时间:
2015-4-4 14:44
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
作者:
柔情似水
时间:
2015-4-7 23:22
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者:
仓酷云
时间:
2015-4-8 14:04
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者:
再现理想
时间:
2015-4-12 13:09
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
作者:
活着的死人
时间:
2015-4-16 07:13
掌握asp的特性而且一定要知道为什么。
作者:
admin
时间:
2015-4-26 17:10
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
作者:
再见西城
时间:
2015-4-27 04:13
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者:
谁可相欹
时间:
2015-6-11 14:42
掌握asp的特性而且一定要知道为什么。
作者:
山那边是海
时间:
2015-6-11 21:23
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
作者:
愤怒的大鸟
时间:
2015-6-22 22:52
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
作者:
小女巫
时间:
2015-6-25 05:58
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
作者:
金色的骷髅
时间:
2015-7-10 06:50
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者:
因胸联盟
时间:
2015-7-11 19:56
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2