JavaScript Probleme sous firefox

Fermé
polo - 16 juin 2010 à 11:34
 polo - 16 juin 2010 à 11:57
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 mercredi 16 juin 2010 Statut Membre Dernière intervention 3 avril 2014 17
16 juin 2010 à 11:45
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
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 jeudi 17 juillet 2008 Statut Membre Dernière intervention 22 juin 2010 30
Modifié par PeterPeterPeter le 16/06/2010 à 11:54
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
Je suis entiérement d'accord avec toi. Je ne le voyai pas sous cet angle à la base...
0