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 :

[DOM] Modifier l'attribut "name" avec IE


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Points : 126
    Points
    126
    Par défaut [DOM] Modifier l'attribut "name" avec IE
    Bonjour,
    je cherche à modifier dynamiquement l'attribut "name" d'un <input /> mais bizarrement je n'y arrive pas avec IE
    Vous pouvez tester cela ici
    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
     
    <html>
    <head>
    <script type="text/javascript">
    function changer(){
    	var obj = document.getElementById('old');
    	obj.setAttribute('name','new');//méthode 1
    	obj.name = "new";//méthode 2
    	alert(document.getElementById('affichage').innerHTML);
     
    }
    </script>
    </head>
    <body>
    <form id="myForm" action="essai.php" method="post">
    	<div id="affichage">
    		<input type="text" name="old" id="old" />
    	</div>
    	<div>
    		<input type="button" onclick="changer();" id="b" name="b" value="go" />
    	</div>
    </form>
    </body>
    </html>
    Avec les 2 méthodes l'alert me renvoie "<input id=old name=old>" avec IE6 et IE7 (ça marche bien avec FF et Safari)
    Merci d'avance pour votre aide.
    Seulement le tout venant a été piraté par les mômes... Qu'est-ce qu'on fait, on s' risque sur le bizard ???

  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,
    c'est peut-être juste ton test qui n'est pas le bon.

    Est-ce que ce test fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementsByName('new')[0].id);
    Il devrait t'afficher "old" si tu n'as pas d'autres objets de name="new" dans ta page ...

    A+
    Pour tout savoir sur l'utilisation du forum

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

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Points : 126
    Points
    126
    Par défaut
    merci pour ta réponse mais cela ne marche pas, ça léve une erreur javascript (normal il n'y a aucun élément de nom 'new').
    N'y a t-il pas moyen de modifier ce *@#*$@ d'attribut avec IE?
    Seulement le tout venant a été piraté par les mômes... Qu'est-ce qu'on fait, on s' risque sur le bizard ???

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Points : 231
    Points
    231
    Par défaut
    hm et pourquoi tu veux changer le name ? c'est pas trop prévu pour en général.
    Vaut mieux trouver un contournement non ?

  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 nox75 Voir le message
    hm et pourquoi tu veux changer le name ? c'est pas trop prévu pour en général.
    Vaut mieux trouver un contournement non ?
    Par exemple une suppression / création gràce au DOM, ce qui serait effectivement plus "propre" ...

    A+
    Pour tout savoir sur l'utilisation du forum

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

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Points : 231
    Points
    231
    Par défaut
    Je dirais que c'est possible si on ne met pas de nom par défaut alors.

    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
     
    <html>
    <head>
    <script type="text/javascript">
    function changer(){
    	var obj = document.getElementById('old');
    	obj.setAttribute('name','new');//méthode 1
    	obj.name = "new";//méthode 2
    	alert(document.getElementById('old').name);
     
    }
    </script>
    </head>
    <body>
    <form id="myForm" action="essai.php" method="post">
    	<div id="affichage">
    		<input type="text" id="old" />
    	</div>
    	<div>
    		<input type="button" onclick="changer();" id="b" name="b" value="go" />
    	</div>
    </form>
    </body>
    </html>
    Et on a bien l'alerte "new"

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Points : 126
    Points
    126
    Par défaut
    Merci pour toutes vos réponses, je vais effectivement procéder autrement, ce sera plus simple et plus propre.
    Seulement le tout venant a été piraté par les mômes... Qu'est-ce qu'on fait, on s' risque sur le bizard ???

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

Discussions similaires

  1. [DOM]Modifier un attribut
    Par Shandler dans le forum APIs
    Réponses: 14
    Dernier message: 27/06/2007, 21h04

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