JavaScript Probleme sous firefox

polo -  
 polo -
Bonjour,

J'ai fait un petit script en js pour valider un formulaire. D'abord sa vérifie si le pseudo entrer est libre, aprés vérification sa ajoute a la page un <span >....</sapn> ayant pour id soit "okpseudo" soit "nopseudo" via innerHTML.

Au click sur le bouton valider je souhaiterai revérifier l'id de ce span. Sous IE tout fonctionne trés bien mais sous firefox sa ne vérifie que les champs vide ....

Voici le code :

var xhr = null; 
	 
			function getXhr(){
				if(window.XMLHttpRequest) 
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
			}
			function verif_pseudo(){
			if(document.sign.pseudo.value != ""){
			document.getElementById('verif').innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='images/loader.gif' />";
				getXhr();
				xhr.onreadystatechange = function(){
					if(xhr.readyState == 4 && xhr.status == 200){
						document.getElementById('verif').innerHTML = xhr.responseText;
						  if(document.getElementById('okPseudo')){
						  return true;
						  }
						  if(document.getElementById('noPseudo')){
						  return false;
						  }
					}
				}
				xhr.open("POST","pseudo.php",true);
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				pseudo = document.sign.pseudo.value;
				xhr.send("pseu="+pseudo);
			}
			}
	function verif_final(){
	if(document.sign.pseudo.value != "" && document.sign.mail.value != ""){
	adresse = sign.mail.value;
	var place = adresse.indexOf("@",1);
	var point = adresse.indexOf(".",place+1);

		 if(document.getElementById('okPseudo')){
	     if((place > -1)&&(adresse.length >2)&&(point > 1)){
		 return true;
		 }
		 else{
		 alert("L'adresse mail est pas valide !");
		 return false;
		 }
 }
	     if(document.getElementById('noPseudo')){
		 alert("Le pseudo n'est pas disponible ! Veuillez en choisir un autre.");
		 return false;
 }
	  }
	  else{
	  alert("Veuillez remplir tous les champs du formulaire !");
	  return false;
	  }
	  }


Merci d'avance

A voir également:

4 réponses

Manny78 Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   17
 
JavaScript est trop instable pour ce genre de chose désolé pour toi ...
T'as plus qu'a attendre qu'ils alignent les navigateurs sur les mêmes normes, comme ce qu'ils ont fait avec le xHtml.
0
polo
 
Bon ok . Merci pour ta reponse rapide je vai simplement rajouter des sécurité en php alors.
0
PeterPeterPeter Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   30
 
Juste pour petit complément d'information.

Sécuriser des champs et des données uniquement avec du javascript est une grossière erreur. Le javascript s'exécute du côté du client, il est donc modifiable à souhait.

Il faut voir la sécurité côté javascript surtout comme une pré-moulinette pour alléger les traitements du serveur et une fois que tout ça a été maché par le javascript c'est au script sur le serveur a faire le vrai ménage.

Combien de fois j'ai vu des formulaires d'envoie de fichier vérifier uniquement l'extension d'un fichier en javascript et pas après par le script qui va effectuer l'envoie en lui même.

Méfiance donc !
0
polo
 
Je suis entiérement d'accord avec toi. Je ne le voyai pas sous cet angle à la base...
0