在下面的代码中,validateName函数完全不起作用。即使在名称文本框中输入了正确的字符,警报仍然显示出来。我究竟做错了什么?它似乎只是因为validateName函数而中断。一旦删除其他2工作正常。validateName函数不起作用
<!DOCTYPE html>
<html lang="en">
<head>
<script>
/*
Check required form elements script-
By JavaScript Kit (http://javascriptkit.com)
Over 200+ free scripts here!
*/
function checkrequired(which){
var pass=true
if (document.images){
for (i=0;i<which.length;i++){
var tempobj=which.elements[i]
if (tempobj.name.substring(0,8)=="required"){
if (((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
pass=false
break
}
}
}
}
if (!pass){
alert("One or more of the required elements are not completed. Please complete them, then submit again!")
return false
}
else
return true
}
</script>
<script type="text/javascript">
/**--------------------------
//* Validate Date Field script- By JavaScriptKit.com
//* For this script and 100s more, visit http://www.javascriptkit.com
//* This notice must stay intact for usage
---------------------------**/
function checkdate(input){
var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
var returnval=false
if (!validformat.test(input.value))
alert("Invalid Date Format. Please correct and submit again.")
else{ //Detailed check for valid date ranges
var monthfield=input.value.split("/")[0]
var dayfield=input.value.split("/")[1]
var yearfield=input.value.split("/")[2]
var dayobj = new Date(yearfield, monthfield-1, dayfield)
if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
else
returnval=true
}
if (returnval==false) input.select()
return returnval
}
</script>
<script>
function validateName(name) {
var cap = /^[A-Z]{1}.+$/;
var con = /[bcdfghjklmnpqrstvwxyz]/i;
var vow = /[aeiou]/i;
if(cap.test(name) && con.test(name) && vow.test(name)) {
return true;
} else {
alert("Must be non-blank, must begin with a capital letter, and must contain at least one vowel and one consonant");
return false;
}
}
</script>
<title>Comments</title>
<meta charset="utf-8">
</head>
<body>
<form name="usercomments" onSubmit= "return checkrequired(this) || validateName(this.name) || checkdate(this.requiredbday)">
Please input a valid email address:<br />
<input type="text" size=18 name="requiredemail">
<br/>
<br/>
Full name:
<input type="text" size=30 name="name">
<br/>
<br/>
Please provide feedback:
<input type="text" size="80" style="height:200px" name="requiredmessage">
<br/>
<br/>
Phone number:
<input type="text" size=15 name="requiredphone">
<br/>
<br/>
Birth date (mm/dd/yyyy):
<input type="text" size=15 name="requiredbday">
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>
被它给任何错误? – 2015-02-09 06:54:08