JavaScript验证整个表单

javascript

不像域级有效性检查(field-level validation),表单级有效性检查(form-level validation)将整个表单上的某组(或全部)值作为一个整体分析其一致性。表单级有效性检查一般发生在将一个已完成的HTML 表单提交给CGI 程序之前。我们这样做是为了确保用户在将数据发送至服务器之前,已经填写了所有的必填域。

验证整个表单其实相当简单。在我们的例子当中,我们已经去除了大部份会自动弹出即时警告信息的域级有效性检查。下面是一个例子:

function isANumber(number) {

answer = 1;

if (!parseFloat(number)) {

//the first digit wasn't numeric

answer = 0;

} else {

//the first digit was numeric, so check the rest

for (vari=0; i if ((number.charAt(i) != "0")

&& (!parseFloat(number.charAt(i)))) {

answer = 0;

break;

}

}

}

if (answer == 1) {

orderPlaced = true;

}

return answer;

}

上面的代码,基本上是我们前面的数字检查函数,只不过没有JavaScript 警告信息。在这个情况中,如果用户输入了数字以外的字符,我们不会自动发送错误信息。

一旦用户认为她已经完成了整个表单,那么她就可以按下 Submit(提交)按钮。在那个时候,我们就检查每个域是否有遗漏,或是存有格式不正确的数据。

function validateForm() {

varfixThis = "";

if

(!(isANumber(document.orderForm.numberOrdered.value))) {

fixThis += "Please enter a numeric value

for the number of brains field.\n";

}

if

(!(exists(document.orderForm.typeField.value))) {

fixThis += "Please enter the type.\n";

}

if

(!(exists(document.orderForm.stateField.value))) {

fixThis += "Please enter the state.\n";

}

if

(!(isAPhoneNumber(document.orderForm.phoneNumber.value))) {

fixThis += "Please enter the phone number

in the following format: (123)456-7890";

}

if

(fixThis != "") {

alert(fixThis);

} else {

document.location.href = "thanks.html";

}

}

这个函数检查表单中所有的域,以确保每个域都包含有效的值。倘若它发现某个域缺少有效的数据,它就会在fixThis变量添加一个新的警告信息,然后再继续下去。在最后,它要么弹出一个含有各种警告信息的窗口,就是传送一个简短的“Thank You”给用户。

注意:这个例子检查了表单中我们没有提到的一部分——State 框,它根据用户输入的美国各州的编码计算销售所得税。

时间: 2024-11-18 09:22:17

JavaScript验证整个表单的相关文章

详解JavaScript中的表单验证

       这篇文章主要介绍了JavaScript中的表单验证,是JS在前端和服务器端通信部分相关的重要知识,需要的朋友可以参考下             表单验证用于发生在服务器,客户端已经输入所有必要的数据,然后按下提交按钮之后.如果一些已被输入的客户端的数据的已在错误形式或者被简单地丢失,则服务器将必须的所有数据发送回客户端,并请求的形式以正确的信息重新提交.这是一个漫长的过程,会增加服务器负担.         JavaScript中,提供了一种方法将其发送到web服务器之前验证客户端

关于javascript正则式表单验证,求大神

问题描述 关于javascript正则式表单验证,求大神 下面的函数组完全不起任何作用啊,随意输入都能跳转2.html,求大神们帮看看问题出在哪里. 解决方案 问题出在: <input type="submit" value="注册">,这种写法不管onsubmit函数返true/false,都会提交表单. 推荐解决方案: <input type="button" value="注册" onclick=&qu

javascript正则式表单验证,求大神帮看看问题出在那。

问题描述 javascript正则式表单验证,求大神帮看看问题出在那. 为什么我function show函数组为什么不起作用,输入错了也能跳转到2.html.提示也没有. 解决方案 show函数怎么写的,一行都看不到.哪有你这样提问的. 解决方案二: 你用的什么浏览器?这个问题改正了么有?http://ask.csdn.net/questions/231266 解决方案三: 你确定提交成功了?你打个断点看看 解决方案四: 因为你把js写在下面了,你把js放在 的上方应该就可以了,祝你好运 解决

Javascript的表单验证-提交表单_javascript技巧

推荐阅读:Javascript的表单验证长度 Javascript的表单验证-初识正则表达式 Javascript的表单验证-揭开正则表达式的面纱 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 坏数据不该抵达服务器:提交表单时的验证 表单域对象里有个form特性,它使用数组表示了整份表单的域 假如这里只有一个简单的信息文本框和一个邮政编码框,还有一个提交按钮 <form> <input id="message" name

javascript html5实现表单验证_javascript技巧

表单验证为终端用户检测无效的数据并标记这些错误,是一种用户体验的优化. 下面展现浏览器自带的验证功能也可在移动端中查看: HTML部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-sc

JavaScript中Form表单技术汇总(推荐)_javascript技巧

这里不进行很复杂的后台验证以及JavaScript的正则表达式,只是简单的介绍下这个技术,简单的后台接收与跳转,大概了解怎么验证的就可以.具体的技术,我后面还会继续写博客的.本人也还在学习中. 表单验证1-简单验证 进行简单的验证,用户名必须为abcd,密码长度必须大于等于6 然后根据用户输入的数据,在后面给出提示. 代码演示: <html> <head> <title>DHTML技术演示---表单验证</title> <meta http-equiv

使用jQuery validate 验证注册表单实例演示_jquery

Validation是jQuery的插件,提供的方法可以大大简化验证表单的工作,功能也足够一般的需要了.rules也足够简单,很容易上手,举个简单的例子,用validation来验证注册表单. 首先确定验证的目标是: 1. 必填项不能为空 2. 注册用户名必须为6-12个字符内 3. 合格的email格式 4. 密码必须为6-18个字符 5. 确认密码必须跟密码一致 ok,目标很明确了.正片开始 复制代码 代码如下: <script type="text/javascript"

Javascript简单改变表单元素背景的方法_javascript技巧

本文实例讲述了Javascript简单改变表单元素背景的方法.分享给大家供大家参考.具体如下: 这里使用Javascript改变表单元素的背景,如改变文本框的背景 function colorChange(formName,formItem){ document.forms[formName.name].elements[formItem.name].style.backgroundColor = "#FFFFFF"; } 希望本文所述对大家的javascript程序设计有所帮助. 以

用JavaScrip正则表达式验证form表单的方法

document:标签之间 location:url history:前进后退 <html> <head> <script type="text/javascript"> function show() { //弹出一个提示框 window.alert("hh"); } //将show方法绑定到按钮上 window.onload=function() { //定位到按钮 var buttonElement=document.for