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]Problème de liens sous ie


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 7
    Points
    7
    Par défaut [DOM]Problème de liens sous ie
    Bonjour,


    Je veux remettre à jour des liens par l'intermédiaire du dom via une fonction javascript. Je n'ai pas eu de problème avec firefox, konqueror et NN, mais ça ne marche pas comme il faut sous ie.

    Le principe: j'ai un événèment onclick sur une balise a (qui ne possède pas de href). Le click pointe sur une fonction javascript qui modifie un tableau et surtout la balise à l'origine de l'appel à la fonction.

    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
    <html>
    <head>
    <script type="text/javascript">
    function modifier(noeud) {
      var td = noeud.parentNode.parentNode;      
      texte = td.firstChild.nodeValue + ' + ';
      td.replaceChild(document.createTextNode(texte), td.firstChild);
      var a = td.lastChild.childNodes[1];
      a.setAttribute('onclick', 'modifier(this)');
    }
    </script>
    </head>
     
    <body>
     
    <table id="tableau">
      <thead>
        <tr>
          <td>Table header</td>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Texte pour l'exemple<span>(<a onclick="modifier(this)">Modifier</a>)</span></td>
        </tr>
      </tbody>
    </table>
     
    </body>
    </html>

    le problème:
    Au 1er click, la modification se fait sans problème (ajout du '+' dans le texte), mais après il ne se passe plus rien. La fonction javascript n'est plus appelé par un click sur la balise a.

    D'où vient mon erreur?

    En vous remerciant.

  2. #2
    Expert éminent

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    :trouve:
    Deux réponses:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      a.setAttribute('onClick', 'modifier(this)');
    (le C majuscule).

    Sinon:
    var a = td.lastChild.childNodes[1];
    a.setAttribute('onClick', 'modifier(this)');
    A quoi ça sert? Tu reassignes le même comportement a ta balise a?
    Je ne vois pas du tout l'utilité de ces lignes....

  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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     a.setAttribute('onclick', function(){modifier(this)});
    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 !

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    SpaceFrog > Il me semble que je l'avais déjà essayé et que ça marchait pas...(mais je sais plus si j'avais mis des sauts de lignes ou non).


    DenisC > Impec'!

    Avec le C majuscule, ça marche bien...
    Pour le même comportement de la balise, c'est juste dû au fait que le code filé est une version allégée... normalement, la fonction modifier prend quelques arguments qui, eux, sont variables.

    Bref, merci beaucoup

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

Discussions similaires

  1. [FLASH 8] [AS] Problème de lien sous IE
    Par BnA dans le forum Dynamique
    Réponses: 10
    Dernier message: 12/10/2007, 11h30
  2. Problème de liens sous IE
    Par bernard 92 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 15/05/2007, 09h45
  3. Problème de lien sous certain navigateur
    Par kennyzkit dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/04/2007, 12h38
  4. Problème de couleur de lien sous IE
    Par Rekiem dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/09/2005, 13h47
  5. problème de liens avec API sous VC++
    Par xavynfive dans le forum MFC
    Réponses: 7
    Dernier message: 26/08/2005, 12h01

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