2009-05-27 3 views
1

Quelqu'un peut-il me dire ce que je fais mal? mon comparePasswords() ne fonctionne pas ...Comparer deux champs dans un formulaire en Javascript - Ne fonctionne pas

 <script> 

      function comparePasswords() 
      { 
       if (post-form.password.value != post-form.password2.value) 
       { 
        $('passwordShow').innerHTML = ''; 
       } 
       else 
       { 
        $('passwordShow').innerHTML = 'Passwords do not match'; 
       } 
      } 
     </script> 


<form id="post-form" action="signup.php" method="post" > 

<input type="password" id="password" name="password" onkeyup="testPassword(this.value);" maxlength="50" size="25" tabindex="102" value=""> 

<input type="password" id="password2" name="password2" onkeyup="comparePasswords();" maxlength="50" size="25" tabindex="104" value=""> 

</form> 

Répondre

1

vous devez utiliser

document.getElementById('password').value 

et

document.getElementById('password2').value 

En outre, votre logique est erronée. Le premier bloc conditionnel se déclenchera si les mots de passe ne correspondent pas.

EDIT

vous semble utilisez jQuery, donc il suffit d'utiliser

$('#password').val() 

pour obtenir la valeur du champ.

Vous devez également définir le innerHTML en utilisant jQuery (peut aussi bien) avec la méthode html()

+0

#Password. ;) – nickf

+0

Il suffit de frapper le edit! merci :) – alex

0

Le test dans votre if est en arrière. La première branche teste si les deux mots de passe ne sont pas égaux.

1

Le problème est la façon dont vous accédez à l'objet de formulaire.

post-form.password 

Pour le moteur javascript, c'est la même que celle-ci:

post - (form.password) 

En outre, vous auriez à donner votre forme un attribut name (pas seulement un identifiant) pour y accéder de cette façon . Si vous voulez accéder par son nom, vous utiliseriez quelque chose comme ceci:

document['post-form'].password 

Ou par id:

document.getElementById("post-form"); 
+1

+1. – alex

+1

15 caractères? heh e – alex

+0

:)! – nickf

Questions connexes