</div>
</div>
<div id="navigation">
<p><strong>Rejestracja</strong></p>
<ul>
<script type="text/javascript">
function sprawdz_formularz() {
var blad = '';
var login = document.forms['formularz'].login;
var haslo = document.forms['formularz'].haslo;
var haslo2 = document.forms['formularz'].haslo2;
var email = document.forms['formularz'].email;
if ((login.value != '') && (haslo.value != '') && (haslo2.value != '') && (email.value != '')){
if (haslo.value != haslo2.value)
blad += 'hasła nie są takie same\n';
if (login.length < 5)
blad += 'login za krótki [5-15 znaków]\n';
if (login.length > 15)
blad += 'login za długi [5-15 znaków]\n';
if (haslo.length < 5)
blad += 'hasło za krótki [5-15 znaków]\n';
if (haslo.length > 15)
blad += 'hasło do długie [5-15 znaków]\n';
if ((haslo.value == haslo2.value) && (login.length >= 5) && (login.length <= 15) && (haslo.length >= 5) && (haslo.length <= 15))
//wszystko dobre
else
blad += 'qwertyuiop\n';
} else
blad += 'niektóre pola są puste\n';
if (blad == ''){
alert('Poprawnie zarejestrowano gracza!');
return true;
} else
alert(blad);
return false;
}
</script>
<align='left'>
<form id='formularz' action='' method='post' onsubmit="return sprawdz_formularz()">
<div>
> Podaj swoje nick: <input type='text' name='login'/><br>
> Podaj swoje haslo: <input type='text' name='haslo'/><br>
> Ponowanie podaj hasło: <input type='text' name='haslo2'/><br>
> Podaj e
-mail: <br
><input type
='text' name
='email'/><br
> <input type='submit' value='rejestruj'/>
</div></form>
</align>
</ul>
</div>
Problem polega na tym, że co bym nie wpisał (ale musi być przynajmniej jeden znak) to 'if ((haslo.value == haslo2.value) && (login.length >= 5) && (login.length <= 15) && (haslo.length >= 5) && (haslo.length <= 15))' zawsze zwraca false (więc przechodzi do else). Według mnie źle działa sprawdzenie długości stringa (length), bo inne wcześniejsze warunki (np. if (haslo.length > 15) też się nie wykonują. Proszę o pomoc.