window.onload=initForm;
function initForm()
{
for(var i=0;i<document.forms.length;i++)
{
document.forms[i].onsubmit=function(){return validForm();}
}
}
function validForm()
{
var allGood=true;
var allTags=document.getElementsByTagName("*");
for(var i=0;i<allTags.length;i++)
{
if(!validTag(allTags[i]))
{
allGood=false;
}
}
return allGood;
function validTag(thisTag)
{
var outClass="";
var allClasses=thisTag.className.split(" ");
for(var j=0;j<allClasses.length;j++)
{
outClass+=validClass(allClasses[j])+" ";
}
thisTag.className=outClass;
if(outClass.indexOf("invalid")>-1)
{
thisTag.focus();
if(thisTag.nodeName=="INPUT")
{
thisTag.select();
}
return false;
}
return true;
function validClass(thisClass)
{
var classBack="";
switch(thisClass)
{
case "":
case "invalid":
break;
case "reqd":
if(allGood&&thisTag.value=="")classBack="invalid";
classBack+=thisClass;
break;
default:
classBack+=thisClass;
}
return classBack;
}
}
}
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>password check</title>
<script src="js/password check.js"></script>
<link rel="stylesheet" href="css/password check.css" />
</head>
<body>
<form action="">
<p><label for="userName">Your name:<input type="text" id="userName" class="reqd" /></label></p>
<p><label for="passWord">Password:<input type="password" id="passWord" class="reqd" /></label></p>
<p><label for="passWordRepeat">Password repeat:<input type="password" id="passWordRepeat" class="reqd passwd1" /></label></p>
<p><input type="submit" /> <input type="reset" /></p>
</form>
</body>
</html>
body
{
color: #000;
background-color: #FFF;
}
input.invalid
{
background-color:#FF9;
border: 2px red inset;
}label.invalid
{
color:#F00;
}
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>password check</title>
<script>
window.onload=initForm;
function initForm()
{
for(var i=0;i<document.forms.length;i++)
{
document.forms[i].onsubmit=function(){return validForm(this);}
}
}
function validForm(f)
{
var allGood=true;
var allTags= f.getElementsByTagName("*");
for(var i=0;i<allTags.length;i++)
{
if(!validTag(allTags[i]))
{
allGood=false;
}
}
return allGood;
function validTag(thisTag)
{
var outClass="";
var allClasses=thisTag.className.split(" ");
for(var j=0;j<allClasses.length;j++)
{
outClass+=validClass(allClasses[j])+" ";
}
thisTag.className=outClass;
if(outClass.indexOf("invalid") > -1)
{
thisTag.focus();
return false;
}
return true;
function validClass(thisClass)
{
var classBack="";
switch(thisClass)
{
case "":
case "invalid":
break;
case "reqd":
if(allGood&&thisTag.value=="")classBack="invalid ";
classBack+=thisClass;
break;
default:
classBack+=thisClass;
}
return classBack;
}
}
} </script>
<style>
body
{
color: #000;
background-color: #FFF;
}
input.invalid
{
background-color:#FF9;
border: 2px red inset;
}label.invalid
{
color:#F00;
} </style>
</head>
<body>
<form action="">
<p><label for="userName">Your name:<input type="text" id="userName" class="reqd" /></label></p>
<p><label for="passWord">Password:<input type="password" id="passWord" class="reqd" /></label></p>
<p><label for="passWordRepeat">Password repeat:<input type="password" id="passWordRepeat" class="reqd passwd1" /></label></p>
<p>
Type:
<select class="reqd">
<option value="">none</option>
<option value="11">1</option>
<option value="22">2</option>
</select>
</p>
<p><input type="submit" /> <input type="reset" /></p>
</form>
</body>
</html>
试试
这个this指向的是forms[i]document.forms[i].onsubmit=validForm(this)
这个this指向的window
这里没onsubmit 就直接 validForm(this) 运行了,所以是指向window楼主记住 this始终指向调用该方法的对象。建议楼主还是买本书看看,或者
http://www.w3school.com.cn/b.asp