IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

sous Chrome TypeError: Cannot read property 'style' of null 7


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut sous Chrome TypeError: Cannot read property 'style' of null 7
    Bonjour,
    sur une fonction de vérification fonctionnant parfaitement sous IE J'ai un message d'erreur sous Chrome
    le message est le suivant :
    TypeError: Cannot read property 'style' of null 7

    la fonction est en JS c'est tout simplement pour vérifier la validité d'un formulaire
    voici la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    function verification(listeForm,mail,passverif){
     
    	listeVerif = listeForm.split(",");
    	listeVide = new Array();
    	var t=0;
    	var i = 0;
    	var colorOrigine = "#FFFFFF";
    	var colorSurligne = "#CCCCCC";
    	for (i=0;i<listeVerif.length;i++){
    		try{
    		document.getElementById(listeVerif[i]).style.background=colorOrigine;
    		}
    		catch(e){
    			alert(e + ' ' + i);
    		}
    	}
     
    	for (i=0;i<listeVerif.length;i++){
    		try{
    			if(document.getElementById(listeVerif[i]).value.replace(/(^\s*)|(\s*$)/g,'')  == ""){
    				listeVide[t] = listeVerif[i];
    				t+=1;
    			}		
    		}
    		catch(e){
    			alert(e + ' ' + i);
    		}
    	}
    	if(listeVide.length > 0){
    		try{
    				for (i=0;i<listeVide.length;i++){
    					document.getElementById(listeVide[i]).style.background=colorSurligne;
    				}
    			alert("Les champs surlignés sont obligatoires");
    			return false;
    				}
    		catch(e){
    			alert(e + ' ' + i);
    		}
    	} 
     
    	if(mail == "oui"){
    		try{
    			emailTest = document.getElementById("email").value;
    			if(emailTest.indexOf("@") == "-1" || emailTest.indexOf(".") == "-1" || emailTest == "" ){
    				document.getElementById("email").style.background=colorSurligne;
    				alert("Adresse Email invalide.");			
    				return false;
    			}else{
    				document.getElementById("email").style.background=colorOrigine;
    			}
    		}
    		catch(e){
    			alert(e + ' ' + i);
    		}
    	}
     
    	if(passverif != "" && passverif != 0){
    		verifPass = passverif.split(",");
    		if (document.getElementById(verifPass[0]).value != document.getElementById(verifPass[1]).value){
    			document.getElementById(verifPass[0]).style.background=colorSurligne;
    			document.getElementById(verifPass[1]).style.background=colorSurligne;
    			alert("La saisie des deux champs surlignés doivent etre identique");
    			return false;
    		}else{
    			document.getElementById(verifPass[0]).style.background=colorOrigine;
    			document.getElementById(verifPass[1]).style.background=colorOrigine;
    		}
    	}	
     
    	return true;
    }
    Je ne suis pas le seul à rencontrer ce pb mais je n'est pas trouvé de solution...

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour et bienvenue sur Developpez.com

    Sais-tu sur laquelle des lignes ça bloque ?

    Est-ce bien des id que tu passes à ta fonction (si tu n'as défini que des name, le getElementById() fonctionnera sous IE mais pas ailleurs).

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    A la question "Sais-tu sur laquelle des lignes ça bloque ?"
    Je crois que c'est sur la ligne :
    document.getElementById(listeVerif[i]).style.background=colorOrigine;
    Cela ne bloque pas vraiment
    je m'explique, au lancement de la fonction verification()
    J'ai une alerte Chrome "TypeError: Cannot read property 'style' of null 7"
    je click sur OK
    et après tout fonctionne parfaitement

    Je n'ai pas ce message sous EI

    A la question "Est-ce bien des id que tu passes à ta fonction"
    ???

    A+

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Je viens de trouver mon bug,

    Dans la listeVerif il y avait un champ en plus qui n'était pas testé dans la fonction verification()
    le for (i=0;i<listeVerif.length;i++)
    allait donc trop loing et envoyait à la fonction
    document.getElementById(listeVerif[i])
    un champ name nom valide
    pas de pb sur IE mais message sous Chrome

    Merci pour ton aide

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par cfabc Voir le message
    A la question "Est-ce bien des id que tu passes à ta fonction" ???
    Citation Envoyé par cfabc Voir le message
    allait donc trop loing et envoyait à la fonction
    document.getElementById(listeVerif[i]) un champ name nom valide
    C'est de cette confusion là dont je parlais

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    Je profite de cette discussion (car le deuxième résultat lors de la recherche sur Google de "cannot read property 'style' of null") pour dire que j'ai eu le même problème.

    En effet, Chrome ne pouvait pas toucher au setStyle d'un élément qu'il considérait comme null. Pourtant, il n'était pas null car en faisant un alert juste avant, il me renvoyait bien le type de l'élément (un div dans mon cas).

    C'est avec Firebug, sous FF, qu'il m'a annoncé d'où venait plus exactement l'erreur. Dans le setStyle je spécifiait un "top" et un "left" par des variables qui étaient vides ou inexistantes.

    Pour conclure il faut faire attention à ce que disent les consoles des navigateurs et ne pas hésiter à les comparer avec d'autres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/05/2015, 12h08
  2. [V8] Importation csv Error Cannot read property '1' of undefined
    Par vernetk dans le forum Odoo (ex-OpenERP)
    Réponses: 1
    Dernier message: 11/02/2015, 16h36
  3. Cannot set property 'innerHTML' of null
    Par MLK_05 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 10/07/2013, 04h44
  4. Réponses: 15
    Dernier message: 15/06/2013, 01h11
  5. Bug sous chrome style.background
    Par headmax dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 22/05/2012, 22h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo