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 :

[POO] Modification attribut name sous IE


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 8
    Points
    8
    Par défaut [POO] Modification attribut name sous IE
    Bonjour,

    Je cherche à pouvoir modifier l'attribut name d'une balise en javascript avec IE.
    Pour FF, pas de souci = setAttribute.

    Après quelques recherches, j'ai pu lire que name ne pouvait être modifié après avoir été créé, entre-autre chose.

    Est-ce vrai ? Certains ont-ils trouvé une solution de contournement ? Attention, Je veux modifier l'attribut et non le supprimer pour le recréer ensuite.

    J'ai essayé avec des document.getelementById.name = "abcde" ou document.getelementById.childNodes[x].name ="abcde" mais sans résultat.

    une p'tite idée

  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 142
    Points
    11 142
    Par défaut
    bonjour,

    si ça marche (IE 7 et FF) :
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
    <head>
     
    <title></title>
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="fr" />
     
     
     
    <script type="text/javascript">
    <!--
    function changeNom()
    {
      document.getElementById("idCoucou").name = "salut";
    }
    function verif()
    {
      alert(document.getElementById("idCoucou").name);
    }
    //-->
    </script>
     
    </head>
     
    <body>
     
    <form>
    <div>
     
    <input type="text" name="coucou" id="idCoucou" />
     
    <input type="button" onclick="changeNom()" value="change nom"/>
    <input type="button" onclick="verif()" value="vérifier"/>
     
    </div>
    </form>
     
    </body>
     
    </html>
    1- Clique sur le bouton "vérifier" ça affichera "coucou"
    2- Clique sur le bouton "change nom"
    3- Clique sur le bouton "vérifier" ça affichera "salut"

  3. #3
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Ce n'est malheureusement pas aussi simple ..

    IE n'aacepte pas la modifiaction du name de façon dynamique, ou tout du moins si il semble l'accepter avec le test de l'alert, pour des éléments de formulaire, il ne sont pas reconnus àprès coté serveur...

    le seul moyen de donner dynamiquemnet un name à un objet de formulaire pour que celui ci soit reconnu par le serveur est de le faire au moment de la creation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.createElement('<input name="xxx" />'
    Je te conseille à ce propos d'aller faire un tour dans les contributions javascript ou j'ai posté un article et une petite librairie sosu le nom "FORM DYMAMIQUE mais pas que from ..."

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Je confirme que même si aucune erreur ne ressort sous IE quand on utilise setattibute ou .name ="new NOM", même si le resultat de l'alert affiche bien le changement, rien de change dans le code source de la page générée.

    SpaceFrog, apparemment, tu valides que l'on ne peut pas modifier le name après sa création et donc on est obligé de supprimer la balise entière puis de la recréer pour "modifier" son name

    Merci

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    je confirme tu es obliger de supprimer et de recréer

    ceci étant tu peux faire une routine de "clonage" pour tous les autres attributs ...

    suffit de créer le nouveau avec son name , puis de scanner les propriétés de l'ancien pour les attribuer au nouveau et enfin detruire l'ancien

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

Discussions similaires

  1. Attribut name d'un select après modification
    Par Jordan-Tess dans le forum jQuery
    Réponses: 2
    Dernier message: 08/12/2014, 08h38
  2. [CakePHP] Modification automatique attribut name dans Form
    Par FadeToBlack dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/06/2013, 22h09
  3. [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
  4. [POO] Qui a migré sous PHP5
    Par mazenovi dans le forum Langage
    Réponses: 16
    Dernier message: 09/11/2005, 10h43
  5. xhtml ->xml xsl:attribute name+not valid
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 14/06/2005, 07h27

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