[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 编程技术 > 其它 > 正文
 

使用JavaScript创建智能表单(1)

作者:吕晓波 来源:不详 (2006-06-05 17:28:56)

验证用户输入

  在我们的网站中,经常会加入一些表单,要求用户输入类似姓名或邮件地址等的个人信息。为了确保用户输入的信息符合所期望的格式,我们可以编写CGI程序或JavaScript脚本进行验证。上述两种方式相比较而言,后者更为理想。因为JavaScript脚本可以在数据被发送到服务端之前对其进行判断和处理,而CGI程序只能在服务端执行,不可避免的会增加整个服务系统的负担。

  使用JavaScript的一种方法是创建一个伪提交按钮调用预先编写好的函数对用户所输入的信息进行验证。对于符合规定格式的用户数据使用submit()方法提交到服务端;而对于那些格式不正确的输入则发出警告信息。其中,伪提交按钮的代码如下:

<INPUT TYPE="button" VALUE="Submit" onClick="validateForm()">

  采用这种方法的缺陷在于必须要求用户所使用的浏览器能够支持JavaScript。如果浏览器不支持JavaScript或者用户关闭了JavaScript支持功能,浏览器将无法执行onClick事件,从而使整个脚本失去作用。

  为了能够根据不同的用户端环境提供最佳的解决方式,可以把验证函数赋值给onSubmit属性。代码如下:

<FORM NAME="UserInfo" ACTION="/cgi-bin/submitUserInfo.pl"

METHOD="post" onSubmit="return validateForm()">

  这样,如果用户端浏览器支持JavaScript,就能够正确解释onSubmit属性,并根据 validateForm()函数对用户输入信息的验证结果决定是否提交用户信息;如果客户端不支持JavaScript,将忽略onSubmit属性,但是仍然能够把用户信息返回到服务端。只不过这时我们需要借助CGI程序在服务端对用户数据进行验证。虽然在功能上相对复杂一些,但是第二种方法对用户更加友好,也更加智能化。

解析字符串

  解析字符串是验证表单输入非常重要的一个方面。JavaScript提供了简单实用的字符串处理功能,一般情况下,我们只需要掌握以下几个字符串对象的方法即可:

String.length:字符串的长度

String.charAt(position):字符在字符串中的所在位置

String.indexOf(searchFor [,startPosition]):在字符串中查找特定字符串的第一次出现位置

String.lastIndexOf(searchFor [,startPostion]):在字符串中查找特定字符串的最后一次出现位置

String.substring(i,j):返回位于位置i和j之间的子字符串。

  举例来说,我们声明了以下字符串变量:var myString = “Hello World.”;myString.length将会返回值12,这是因为myString字符串中包含12个字符。JavaScript从0开始计数,所以myString.charAt(0)返回字符H,myString.charAt(1)返回e,而myString.charAt(11)返回 “.”。
(http://www.fanqiang.com)



 
 相关文章

 

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com