Проверка на форма

Rushvet

Registered
Вече съм доста изморен и няма да откажа малко помощ къде ми е грешката. Формата си е наред. Когато задам само 1 проверка всичко е перфе но когато са няколко подред ен работи.
 
Защо ползваш достъп до стойност по име(тоест стария метод), а веднъж ползваш:
document.getElementById
И какво означава, при :
Rushvet каза:
но когато са няколко подред
В цикъл ли ползваш тази функция?
 
Ами имам една стара книга за джава скрипт и една по нова. Джава скрипта ми куца и поглеждам и от двете да може да разбера и успях да направя този код.
Ако кода е :
Код:
 function validate()
{
validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
var error1 ="Невалиден E-mail";

if (strEmail.search(validRegExp) == -1)
{
document.getElementById("txtHint").innerHTML=error1
return false;
} 
}
Работи нормално
 
Код:
<form name="register" onSubmit="return validate()" method="post" action="register.php">
<input name="username" type="text" style="width: 50%;" VALUE="<?=$_POST['username'];?>">
<input name="password" type="text"  style="width: 50%;" VALUE="<?=$_POST['password'];?>">
<input name="password_confirm" type="text"  style="width: 50%;" VALUE="<?=$_POST['password_confirm'];?>">
<input name="email" type="text" style="width: 50%;"VALUE="<?=$_POST['email'];?>">
<input name="signup_continue" type="submit"  value="Регистрирай ме !">
</form>
 
Я виж това:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script type="text/javascript">
function validate(){
	var validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
	var validUserExp = /^[a-z]+$/i;
	var validPass = /^[a-zA-Z0-9]+$/i;
	var forma = document.getElementById('forma');
	for(i=0; i<document.getElementById('forma').length; i++){
	if(forma[i].id=="username"){
	if(forma[i].value.length==0){
	alert("Въведе потребитеслко име");
	break;
	} else if(forma[i].value.search(validUserExp) == -1){
	alert("Невалидно потребителско име");
	break;
	} 
	} else if(forma[i].id=="password"){
			if(forma[i].value.length<4 || forma[i].value.length>30){
			alert("Паролата може да е между 4 и 30 символа");
			break;
			} else if(forma[i].value.search(validPass) == -1){
			alert("Паролата може да съдържа само латински букви и цифри");
			break;
			} else if(forma[i].value!=document.getElementById('password_confirm').value){
			alert("Паролите не съвпадат");
			break;
			}
	} else if(forma[i].id=="email"){
	if(forma[i].value.search(validRegExp) == -1){
	alert("Невалиден E-mail");
        break;
	}
	} else {
	forma.submit();
	}
	}
}
</script>
</head>

<body>
<form name="register" method="post" action="register.php" id="forma"  onSubmit="validate(); return false">
ПОтребителско име<input name="username" id="username" type="text" style="width:50%;" VALUE=""><br />
Парола<input name="password" id="password" type="text"  style="width:50%;" VALUE=""><br />
Повтори паролата<input name="password_confirm" id="password_confirm" type="text"  style="width:50%;" VALUE=""><br />
E-mail<input name="email" type="text" id="email" style="width: 50%;"VALUE=""><br />
<input name="signup_continue" type="submit"  value="Регистрирай ме !">
</form> 
</body>
</html>
 

Горе