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 :

[array] getElementsByName différent sur IE et Firefox [Trucs & Astuces]


Sujet :

JavaScript

  1. #1
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut [array] getElementsByName différent sur IE et Firefox
    Bonjour à tous, je viens d'isoler mon problème, regardez un peu ce code sous IE et Firefox
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <table >
          <tr>
            <td name="col"></td>
            <td name="col"></td>
            <td name="col"></td>
          </tr>
    </table>
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function tabCount(tab){
    	alert(tab.length);
    }
    tabCount(document.getElementsByName('col'))
    Sur Firefox, j'ai 3 elements,
    Sur IE, j'ai 0 element !
    vous savez comment faire ?
    merci

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    bonjour, pour IE tu peux faire ça :

    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
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function tabCount(){
       var i, l, n=0;
       tab = document.all;
       l = tab.length;
     
       for (i=0; i<l; i++)
       {
          if (tab[i].name=="col")
              n ++;
       }
       alert(n);
    }
     
     
    //-->
    </script>
     
    </head>
     
    <body onload="tabCount()">
    <table >
          <tr>
            <td name="col">a</td>
            <td name="col">b</td>
            <td name="col">c</td>
          </tr>
    </table>
     
    </body>
     
    </html>
    il te faut maintenant détecter le navigateur pour exécuter le bon code.

  3. #3
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    oki, j'essaye ça dès demain au taf, merci

  4. #4
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    c'est allucinant, ça marche que sur IE, bon ben je vais détecter la version, merci

  5. #5
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    Pour les intéressés, voici une fonction qui doit fonctionner tout le temps, pour moi ça marche, n'hésitez pas si vous avez des avis :
    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
     
    function getElementsByName(elementsName){
    	if(navigator.appName.indexOf("Explorer")>0){
    		var i, l;
    		tab = document.all;
    		l = tab.length;
    		ElementsByName = new Array();
     
    	   for (i=0; i<l; i++)
    	   {
    		  if (tab[i].name==elementsName)
    		  ElementsByName[ElementsByName.length] = tab[i];
    	   }
    	   return ElementsByName;
    	}else{
    		return document.getElementsByName(elementsName);
    	}
    }

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    si mes souvenirs sont bons utiliser appName pour détecter le navigateur n'est pas ce qu'il y a de plus efficace : Opera a, je crois, une option qui permet de modificer cette valeur.

    Tu as un script très complet ici :
    http://javascript.developpez.com/sou...#browserdetect

    sinon tu peux couramment trouver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (document.all)
        alert("votre navigateur est IE");
    else
       alert("autre que IE");

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

Discussions similaires

  1. Probleme d'assemblage array raid 1 au boot sur debian squeeze
    Par motardjoebar27 dans le forum Debian
    Réponses: 4
    Dernier message: 01/02/2013, 15h01
  2. diff de chaînes sur une seule ligne
    Par dingoth dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 10/06/2010, 22h15
  3. menu : diff. IE8-FF sur page vierge
    Par evevev dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 14/10/2009, 15h21
  4. saut de ligne sur li dans firefox
    Par bractar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 28/03/2006, 14h10
  5. Installer Flash Player sur Mandrake 64_x86 (firefox=ok)
    Par CR_Gio dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 23/12/2005, 15h16

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