onsubmit怎么验证表单要提交的内容?求详细的,最好有写好的JS例子。

发布网友 发布时间:9分钟前

我来回答

1个回答

热心网友 时间:4分钟前

给你一个精简一些的方法吧,代码给你贴出来
function checkItem(inputElement,isAjax)
{
inputElement.parentNode.parentNode.className = "";
var msgBox = inputElement.parentNode.getElementsByTagName("span")[0];
var isHaveError = true;
var errorMessage = "";
switch(inputElement.name) {
case "userId":
if(inputElement.value == "") {
errorMessage = "用户名不能为空";
}else if(!/[a-zA-Z0-9]+/.test( inputElement.value)){
errorMessage = "用户名只能是英文字母或者数字";
}else{
if(isAjax===undefined || isAjax==true){
ajaxCheckUserIsExisted(inputElement.value);
}
isHaveError = false ;
}
break;
case "userName":
if(inputElement.value == "") {
errorMessage = "真实姓名不能为空";
}else if(inputElement.value.length>20){
errorMessage = "真实姓名长度最长10个汉字";
}else{
isHaveError = false ;
}
break;
case "password":
if(inputElement.value == "") {
errorMessage = "密码不能为空";
}else{
isHaveError = false ;
}
break;
case "confirmPassword":
if(inputElement.value == "") {
errorMessage = "确认密码不能为空";
} else if(inputElement.value != document.getElementById("password").value) {
errorMessage = "两次输入的密码不相同";
}else{
isHaveError = false ;
}
break;
case "address":
if(inputElement.value == "") {
errorMessage = "地址不能为空";
}else{
isHaveError = false ;
}
break;
case "birthday":
if((inputElement.value != "") && !/\d{4}[-]\d{1,2}[-]\d{1,2}/.test(inputElement.value)) {
errorMessage = "出生日期格式只能是yyyy-mm-dd";
}else{
isHaveError = false ;
}
break;
case "identityCode":
if((inputElement.value != "") && !/((\d{17}\w{1})|(\d{15}))/.test(inputElement.value)) {
errorMessage = "身份证号码格式不正确";
}else{
isHaveError = false ;
}
break;
case "email":
if((inputElement.value != "") && !/^[a-z0-9]+\@([a-z0-9]+\.)+[a-z0-9]{2,4}$/i.test(inputElement.value)) {
errorMessage = "邮件地址格式不正确";
}else{
isHaveError = false ;
}
break;
case "mobile":
if((inputElement.value != "") && !/\d{11}/.test(inputElement.value)) {
errorMessage = "手机号码格式不正确";
}else{
isHaveError = false ;
}
break;
}
if(isHaveError){
msgBox.innerHTML = errorMessage;
msgBox.className = "error";
return false;
}
return true;
}

function checkForm(form)
{
var els = form.getElementsByTagName("input");
var rtn = true;
for(var i=0; i<els.length; i++) {
if(els[i].getAttributeNode("onblur")) {
if(!checkItem(els[i])) rtn = false;
}
}
return rtn;
}

但是其实用不同的js方法,最后总的写个check()方法来验证也挺快的。
就是不知道楼主觉得麻烦在哪了。呵呵

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com