一个简单的用javascript验证表单的例子
2008-02-18 14:15
666 查看
in form_utils.js
// A utility function that returns true if a string contains only
// whitespace characters.
function isblank(s)
...{
for(var i = 0; i < s.length; i++) ...{
var c = s.charAt(i);
if ((c != ' ') && (c != ' ') && (c != ' ')) return false;
}
return true;
}
// This is the function that performs form verification. It will be invoked
// from the onSubmit() event handler. The handler should return whatever
// value this function returns.
function verify(f)
...{
var msg;
var empty_fields = "";
var errors = "";
// Loop through the elements of the form, looking for all
// text and textarea elements that don't have an "optional" property
// defined. Then, check for fields that are empty and make a list of them.
// Also, if any of these elements have a "min" or a "max" property defined,
// then verify that they are numbers and that they are in the right range.
// Put together error messages for fields that are wrong.
for(var i = 0; i < f.length; i++) ...{
var e = f.elements[i];
if (((e.type == "text") || (e.type == "textarea") || (e.type == "password")) && !e.optional) ...{
// first check if the field is empty
if ((e.value == null) || (e.value == "") || isblank(e.value)) ...{
empty_fields += " " + e.name;
continue;
}
// Now check for fields that are supposed to be numeric.
if (e.numeric || (e.min != null) || (e.max != null)) ...{
var v = parseFloat(e.value);
if (isNaN(v) ||
((e.min != null) && (v < e.min)) ||
((e.max != null) && (v > e.max))) ...{
errors += "- The field " + e.name + " must be a number";
if (e.min != null)
errors += " that is greater than " + e.min;
if (e.max != null && e.min != null)
errors += " and less than " + e.max;
else if (e.max != null)
errors += " that is less than " + e.max;
errors += ". ";
}
}
}
}
// Now, if there were any errors, display the messages, and
// return false to prevent the form from being submitted.
// Otherwise return true.
if (!empty_fields && !errors) ...{
return true;
}
msg = "______________________________________________________ "
msg += "The form was not submitted because of the following error(s). ";
msg += "Please correct these error(s) and re-submit. ";
msg += "______________________________________________________ "
if (empty_fields) ...{
msg += "- The following required field(s) are empty:"
+ empty_fields + " ";
if (errors) msg += " ";
}
msg += errors;
alert(msg);
return false;
}
//-->
使用时的调用方法
<script src="./form_utils.js"></script>
<script language=JAVASCRIPT type=text/javascript>
<!--
function verifyForm(f)
...{
// alert("Verifying form...");
if (verify(document.forms[0]) == true) ...{
document.getElementById('key_alpha').value =
document.getElementById('username').value;
document.getElementById('resolvname_value').value = "key.alpha:" +
document.getElementById('dm.key.alpha').value;
return true;
} else ...{
return false;
}
}
//-->
</script>
</p>
<form name=RegisterUser onSubmit="return verifyForm(this);"
action="/prs" method=post>
......
</form>
// A utility function that returns true if a string contains only
// whitespace characters.
function isblank(s)
...{
for(var i = 0; i < s.length; i++) ...{
var c = s.charAt(i);
if ((c != ' ') && (c != ' ') && (c != ' ')) return false;
}
return true;
}
// This is the function that performs form verification. It will be invoked
// from the onSubmit() event handler. The handler should return whatever
// value this function returns.
function verify(f)
...{
var msg;
var empty_fields = "";
var errors = "";
// Loop through the elements of the form, looking for all
// text and textarea elements that don't have an "optional" property
// defined. Then, check for fields that are empty and make a list of them.
// Also, if any of these elements have a "min" or a "max" property defined,
// then verify that they are numbers and that they are in the right range.
// Put together error messages for fields that are wrong.
for(var i = 0; i < f.length; i++) ...{
var e = f.elements[i];
if (((e.type == "text") || (e.type == "textarea") || (e.type == "password")) && !e.optional) ...{
// first check if the field is empty
if ((e.value == null) || (e.value == "") || isblank(e.value)) ...{
empty_fields += " " + e.name;
continue;
}
// Now check for fields that are supposed to be numeric.
if (e.numeric || (e.min != null) || (e.max != null)) ...{
var v = parseFloat(e.value);
if (isNaN(v) ||
((e.min != null) && (v < e.min)) ||
((e.max != null) && (v > e.max))) ...{
errors += "- The field " + e.name + " must be a number";
if (e.min != null)
errors += " that is greater than " + e.min;
if (e.max != null && e.min != null)
errors += " and less than " + e.max;
else if (e.max != null)
errors += " that is less than " + e.max;
errors += ". ";
}
}
}
}
// Now, if there were any errors, display the messages, and
// return false to prevent the form from being submitted.
// Otherwise return true.
if (!empty_fields && !errors) ...{
return true;
}
msg = "______________________________________________________ "
msg += "The form was not submitted because of the following error(s). ";
msg += "Please correct these error(s) and re-submit. ";
msg += "______________________________________________________ "
if (empty_fields) ...{
msg += "- The following required field(s) are empty:"
+ empty_fields + " ";
if (errors) msg += " ";
}
msg += errors;
alert(msg);
return false;
}
//-->
使用时的调用方法
<script src="./form_utils.js"></script>
<script language=JAVASCRIPT type=text/javascript>
<!--
function verifyForm(f)
...{
// alert("Verifying form...");
if (verify(document.forms[0]) == true) ...{
document.getElementById('key_alpha').value =
document.getElementById('username').value;
document.getElementById('resolvname_value').value = "key.alpha:" +
document.getElementById('dm.key.alpha').value;
return true;
} else ...{
return false;
}
}
//-->
</script>
</p>
<form name=RegisterUser onSubmit="return verifyForm(this);"
action="/prs" method=post>
......
</form>
相关文章推荐
- javascript 正则表达式+表单验证 结合运用简单例子
- javascript表单验证简单例子
- JQuery在一个简单的表单验证的例子
- javascript:正则表达式、一个表单验证的例子
- 一个简单的HTML表单及JavaScript验证
- javascript:正则表达式、一个表单验证的例子
- 一个简单的JavaScript表单验证框架
- 一个用javascript编写的表单提交的例子(包括用正则表达式对数据进行验证)
- 以一个最简单的例子把OO的JavaScript说明白
- 让客户端javascript修改的内容在服务端也能记忆的一个简单例子
- blockchain 区块链200行代码:在JavaScript实现的一个简单的例子
- javascript学习笔记(十二)初始化表单,及对其简单验证
- 第一次用javascript写了一个不用刷新就能实现--用户名验证的例子
- 简单的javascript表单验证,输入是否为空,确认密码。。
- JQuery中一个简单的表单验证的实例
- 演示一个最简单的JavaScript客户端验证的漏洞
- 使用JavaScript实现表单的前端简单验证后提交
- JavaScript form对象,表单简单验证
- 中级JavaScript例子, 如何实现一个简单实用的模板套用机制, GXTemplate , 第2章(估计要写9章)
- JavaScript对表单验证的例子