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 :

getElementByName ne compte pas le name dynamique ??? [Trucs & Astuces]


Sujet :

JavaScript

  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut getElementByName ne compte pas le name dynamique ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type='text/javascript'>
    for (i=0;i<20;i++){
    var inp1 =  document.createElement('INPUT'); 
    inp1.setAttribute('type','text'); 
    inp1.setAttribute('name','monnom');
    inp1.setAttribute('value','monnom');
    document.body.appendChild(inp1)
    }
    var compteur=document.getElementsByName('monnom')
    alert(compteur.length)
     
    </script>
    : : :
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    alors que parcontre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var compteur=document.getElementsByTagName('input')
    alert(compteur.length)
    donne le bon resultat ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut Re: getElementByName ne compte pas le name dynamique ???
    Mets le tout dans une fonction et execute la après le chargement de la page pour voir ce que ça donne....

    A mon avis, c'est un problème lié au fiat qu'IE (c'est ça?) a du mal a modifier le document tant qu'il est pas completement chargé, et qu'il doit s'emmeller les pinceaux dans ton truc (certainement lié au problème des name/id dans IE)....

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    IE évalue en paralelle les script
    j'ai pu constater la chose en ajoutant des fichiers javascript avec le dom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scr = document.createElement('Script'); 
    scr.setAttribute('src','monjavascrpt.js');
    si vous faîtes ça plusieurs fois et que vous mettez des alerts dans les fichiers JS
    vous pourez constater que les alerts des différents fichiers arrivent en parralelle

    je penssais obtenir tous les alertq du premier fichier puis tous ceux du second etc. il n'en est rien
    donc pas question de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //le fichier monjavascrpt.js
    ...
    var mavar = "fichier chargé";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    scr = document.createElement('Script'); 
    scr.setAttribute('src','monjavascrpt.js');
    alert (mavar);
    car vous obtiendrez un "undefined"


    je suppose qu'IE à le même comportement pour tout ce qu'on ajoute au DOM. Il lui faut le temps d'évaluer la chose.
    A+JYT

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    j'ai essayé avec un setTimeout ... et ensuite avec un bouton sur la page ...

    et ...
    même resultat... donc rien à voir avec la fin du chargement de la page ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Ton code fonctionne avec firefox.

    Pour IE, si tu ajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
              inp1.setAttribute('id','monnom');
    ça fonctionne.

    Etonnant, non ?

  7. #7
    Membre expérimenté Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Par défaut
    Desprogien meme

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    d'autant plus qu'un id doit être unique sur une page !!!!

    faute de mieux voici qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var inp1 = document.createElement('<INPUT type="text" name="' + totalrecipients_name + '" value="' + totalrecipients_name + '" />');
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    beeeeeurk

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    lol jt mais j'ai pas trouvé mieux
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par SpaceFrog
    lol jt mais j'ai pas trouvé mieux
    Ca me rappelle que j'avais eu le même genre de problème avec les input radio. Si tu rajoute en script un input radio à un ensemble d'input existant déjà (avec le même name), il faut utiliser la méthode de SF pour qu'il oit pris en compte par IE dans la même famille que les autres radios.

    Comme quoi, IE a vraiment des soucis....

  12. #12
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    A la fin de ton script d'origine, ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert(document.body.innerHTML);
    C'est surprenant, et en même temps à pisser de rire : seul l'attribut 'value' est créé avec IE).

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    et il parait que IE7 nouvelle version sera plus conforme au w3c ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 80
    Par défaut
    Conformément au même soucis : ICI
    je n'ai aucune solution...
    J'ai essayé les setAttributes et compagnie... mais rien n'y fait...

    Help please

Discussions similaires

  1. Element de formulaire et Name dynamique sous IE
    Par khadir dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/08/2008, 11h12
  2. [DOM] Changement de l'attribut name dynamique
    Par Metal3d dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/06/2008, 16h39
  3. Variable qui ne compte pas ce que je veux
    Par clairenes dans le forum iReport
    Réponses: 0
    Dernier message: 08/11/2007, 11h52
  4. [<select name=...>]Dynamique depuis MySQL
    Par Jean_Benoit dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/05/2006, 11h50

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