[JavaScript] Probleme Condition

Bonjour j’ai un probleme en Javascript, et je ne m’y connais pas du tout dans le langage :confused:

Je voulais faire crypter mes 2 champs de mot de passe avant de l’envoyer par la methode post, au script PHP.
Pour ce qui est du cryptage j’ai pu trouver des scripts sur le net que j’ai mis en place, et ça marche impec. Mais qd j’ai voulu le modifier pour mettre mes conditions ça bug de tous les coté.

Je voulais tester la longueur des chaines de caracteres, et si c’est bon ça crypte, sinon ça mets une fenetre d’alerte.

J’ai remarqué que les conditions ne fonctionnent pas (que la chaine ai moins ou plus de 4 caracteres il entre jamais dans la bonne boucle).

Et ensuite aprés l’affichage de la fenetre d’alerte, j’aimerai que ça stop tout. Car la ça m’envoi qd meme sur le script PHP avec la methode POST.

Voila le code en question :


function submit_pass()
{
	lenpass = document.forms['Register'].Password.length;
	lenpass2 = document.forms['Register'].Password2.length;
	
	if ((lenpass > 4) && (lenpass < 12) && (lenpass2 > 4) && (lenpass2 < 12)) {
	
  pass=document.forms['Register'].Password.value;
  document.forms['Register'].Password.value="";
  buf=MD5(pass);
  document.forms['Register'].md5.value=buf;
  
  pass2=document.forms['Register'].Password2.value;
  document.forms['Register'].Password2.value="";
  buf2=MD5(pass2);
  document.forms['Register'].md5_2.value=buf2;
  
  document.forms['Register'].submit;
  return false;
	}
	else {
  alert("Longueur du Mot de Passe incorrect !");
	}
}

Je ne suis qu’un débutant, désolé si l’erreur est flagrande mais je sais pas quoi modifier pour que ça marche : x

Merci d’avance ! :slight_smile:

Le probleme des conditions est réglé !
J’avais oublié “value” avant “lenght”.

Y a juste le probleme que quand la longueur de la chaine est mauvaise, il exécute qd meme le méthode POST.

Vous avez une solution pour arreter ça ?


function submit_pass()
{
	lenpass = document.forms['Register'].Password.value.length;
	lenpass2 = document.forms['Register'].Password2.value.length;
	
	if ((lenpass > 4) && (lenpass < 12) && (lenpass2 > 4) && (lenpass2 < 12)) {
	
  pass=document.forms['Register'].Password.value;
  document.forms['Register'].Password.value="";
  buf=MD5(pass);
  document.forms['Register'].md5.value=buf;
  
  pass2=document.forms['Register'].Password2.value;
  document.forms['Register'].Password2.value="";
  buf2=MD5(pass2);
  document.forms['Register'].md5_2.value=buf2;
  
  document.forms['Register'].submit;
  return false;
	}
	else {
  alert("Le mot de passe doit avoir entre 4 et 12 caracteres !");
  return;
	}
}

Vire moi ces parenthèses entre les && => lenpass > 4 && lenpass < 12.

Je paris que tu fous ça dans un événement onsubmit?

Renvoie true s’il faut envoyer, et false sinon…