begin process at 2012 05 29 12:39:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

'length' a la valeur null ou n'est pas un objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

'length' a la valeur null ou n'est pas un objet

mardi 17 novembre 2009 à 11:54:04 | 'length' a la valeur null ou n'est pas un objet

sidarks

Bonjour,

Je rencontre un souci avec une fonction en JS.

Le contexte : Je souhaite à l'aide d'un menu déroulant, choisir quelles colonnes d'un tableau j'affiche ou non.

J'utilise donc pour cela 3 fonctions :
- Une pour récupérer la valeur de mon menu déroulant
- Une pour afficher la colonne ou les colonnes si elles ne sont pas visible
- une pour cacher les colonnes qui étaient visibles mais qui ne doivent plus l'être.

Je suis obligé d'utiliser les Class car il y a plusieurs colonnes ( ici 'td') à afficher ou masquer à chaque fois.

L'erreur : Sous FF, pas de problème ça marche nickel. Par contre le problème vient d'IE ( testé sur les versions 6 et 8). Où la sélection du menu déroulant ne change rien et me donne comme erreur : 'length'a une valeur null ou n'est pas un objet.

Ma Question : d'où vient cette erreur, et pourquoi le calcul du length ne se fait pas de la même manière sous IE et sous FF ?

Merci de votre précieuse aide, car j'ai beau chercher, je ne trouve pas de bonnes solutions. Pour info, je ne maitrise le javascript que très peu.

Ci-dessous les codes de mes fonctions JS + mes tableaux HTML de tests.

Code Javascript :
  function toggle_aff(className)
{
	var elements = document.getElementsByClassName(className);

	var l = elements.length;
	for (var i = 0; i < l; i++)
	{
		if (elements[i].style.display == 'block')
			elements[i].style.display = 'none';
		else
			elements[i].style.display = 'block';
	}
}
   function toggle_cach(className)
{
	var elements = document.getElementsByClassName(className);

	var l = elements.length;
	for (var i = 0; i < l; i++)
	{
			elements[i].style.display = 'none';
	}
}


    function affiche(value)
    {


  if(value=='indiv')
   {
		toggle_aff("test1");
		toggle_cach("test2");
		toggle_cach("test3");
	
   }
   else if(value=='pro')
   {
        toggle_aff("test2");
		toggle_cach("test1");
		toggle_cach("test3");
   }
   
      
else if(value=='test')
   {
		toggle_aff("test3");
		toggle_cach("test2");
		toggle_cach("test1");
   }

    }


et l'HTML :

Code HTML :
<select onchange="affiche(this.value);">             
       <option  value="indiv">individual </option>
       <option  value="pro"> professional </option>   
	   <option  value="test"> test </option>  

</select>

<table >
<tr >
<td class="test1" style="display:block;">Test 1</td>
<td class="test2" style="display:none;" >Test 2</td>
<td class="test3" style="display:none;" >Test 3</td>
<td class="test3" style="display:none;" >Test 3.2</td>
</tr>
</table>
mardi 17 novembre 2009 à 13:21:04 | Re : 'length' a la valeur null ou n'est pas un objet

kazma

Administrateur CodeS-SourceS
bonjour

ca ne marche pas car ie ne le supporte pas tout simplement
mardi 17 novembre 2009 à 14:25:06 | Re : 'length' a la valeur null ou n'est pas un objet

sidarks

IE ne supporte pas quoi ? le length??? pourtant parmi mes recherches je n'ai jamais lu ça nulle part...

Est-ce que tu aurais une solution pour régler le problème?

Merci.
mardi 17 novembre 2009 à 17:43:52 | Re : 'length' a la valeur null ou n'est pas un objet

jdmcreator

IE ne suppoirte pas la fonction document.getElementsByClassName ;)

[ Lien ]


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com


Cette discussion est classée dans : objet, valeur, test, colonnes, length


Répondre à ce message

Sujets en rapport avec ce message

Test existence d'un objet [ par donben ] Bonjour, je cherche à tester l'existence d'une cellule de tableau créé via PHP par son ID. Je fais donc une fonction bête écrite comme suit par un aut Comment obtenir un objet dont on connait que la désignation sous forme de string ? [ par Dexterin ] Bonjour,J'ai un objet dont je ne connais le nom QUE par la chaine de caractere (et je sais que cet objet existe).cte = "document.formulaire.champs";Je Nom d'un objet en parametre [ par Rael87 ] Voila mon probleme, j'envois le nom d'une checkbox en parametre de ma fonction test, le but etant de cocher toute les checkbox ayant ce nom.Voici ma f Petite fonction avec une condition pour l'envoi d'un formulaire [ par ben010 ] Bonjour,Je n'ai jamais vraiment fait de javascript mais là je dois réaliser un petit script qui, en fonction de la valeur d'une variable, permet l'env Récupérer données des tableaux issus des formulaires [ par romalafrite ] Bonjour,J'ai aujourd'hui un formulaire qui ressemble à ça et dont j'aimerais exploiter les données en JS[CODE]Véhicule<input type="text" name="caracte controle d'une valeur radio [ par colibrius ] je suis dans le kk !! je n'arrive pas a faire un controle en javascript d'une valeur radio issue d'un formulaire. j'ai apparament isolé le pb. si je n Inserer des valeur dans une dropdowlist en javascript [ par yann591 ] Bonjour,J'ai besoins d'inserer des valeurs dans une dropdownlist a partir du language Javascript dans ma page parent.Voilà ce que j'ai fait dans ma ph Problème setTimeout et poo - valeur qui ne change pas (au secours...) [ par 0Philooz0 ] Bonjour,J'ai un problème ( depuis maintenant deux jours ) avec le bout de code suivant:///Portion de code qui pose problème.fun EXCEL - recherche valeur cellule [ par diablotinrouge ] Error convertoring HTML to XHTML: System.ArgumentOutOfRangeException: Length cannot be less than zero. Parameter name: length at System.String.Inte


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,716 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales