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 :

IE6 onclick sur balise <a>


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Points : 42
    Points
    42
    Par défaut IE6 onclick sur balise <a>
    J’essaye désespérément d’ajouter dynamiquement un élément onclick à une balise <a> mais cela ne fonctionne pas.

    Sous FF, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nouveauA =doc.createElement("a");
    nouveauA.setAttribute('onclick','alert(\'titi\')');
    Sous IE6, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var myFunction = function() { alert('titi');};
    nouveauA.onclick = myFunction;
    => cela ne fonctionne pas.

    J’ai aussi testé attachEvent mais cela ne fonctionne pas mieux.

    Quelqu’un à une idée ?

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    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
    <html>
    <head>
    <script type="text/javascript">
    function lien(){  
        var a = document.createElement('a');
    	a.href='#';
    	a.innerHTML='Nouveau Lien'
    	a.onclick=function(){alert('titi');return false}
    	document.body.appendChild(a);
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="lien()" value="Nouveau Lien"/>
    </body>
    </html>
    ça marche sous IE et FF

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Points : 42
    Points
    42
    Par défaut
    Grrhhhh cela ne marche pas. Ton exemple marche très bien, par contre lorsque j’essaye de l’appliquer chez moi cela ne fonctionne pas.

    En fait j’essaye de rafraîchir un élément <a> qui se trouve dans le document appelant

    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
     
    var doc=opener.document; // le document appelant
    var body=doc.getElementById("tbody");
     
    nouveauTr=doc.createElement("tr");
    nouveauTd=doc.createElement("td");
     
    nouveauA=doc.createElement("a");
    nouveauA.href=lien;
    var myFunction = function() {alert('toto');return false;};
    nouveauA.onclick = myFunction;
     
    nouveauImg=doc.createElement("img");
    nouveauA.appendChild(nouveauImg);
     
    nouveauTd.appendChild(nouveauA);
    nouveauTr.appendChild(nouveauTd);
    tbody.appendChild(nouveauTr);
    Les insertions de chaque éléments fonctionnent par contre mon événement onclick pas vraiment, une idée ??

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Pourquoi compliquer les choses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveauA.onclick =function() {alert('toto');return false;};
    ou
    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var myFunction = new Function() {alert('toto');return false;};
    nouveauA.onclick = myFunction;

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Pourquoi compliquer les choses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveauA.onclick =function() {alert('toto');return false;};
    ou
    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var myFunction = new Function() {alert('toto');return false;};
    nouveauA.onclick = myFunction;


    J'ai pris ta solution

    Cela ne marche pas, je ne comprends vraiment pas pourquoi...

    Comment on vérifie si l'élément <a> est correctement associé

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    var body=doc.getElementById("tbody");
    .........
    tbody.appendChild(nouveauTr);
    T'es sur que les éléments sont créés?
    N'utilise pas body comme nom de variable, c'est un mot réservé JS.
    Fait nous voir ton code.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Points : 42
    Points
    42
    Par défaut
    Oui tout est là, parce que dans ma balise <a> j'ai également une balise <img> et je la vois bien.

    Ce qui est bizarre c'est quand je regarde mon code avec DebugBar,

    En mettant l'action comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    nouveauImg.onclick ="alert('toto');return false;";
    nouveauA.onclick ="alert('toto');return false;";
    nouveauA.appendChild(nouveauImg);
    Je vois bien mon code dans la balise <img> et dans la balise <a> par contre il ne se passe rien...

    Quand j'utilise le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nouveauA.onclick =function() {alert('toto');return false;};
    On ne voit pas le code dans Debugbar, c'est quoi le souci?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Points : 42
    Points
    42
    Par défaut
    Une question en passant ce n'est pas tout simplement parce que je modifie un élément sur une page (ajout d'une ligne contenant une balise <a> dans un élément <table>) qui a déjà été chargé qui n'est PAS CELLE appelant le code javascript pour insérer cet nouvelle ligne?

    Il faut réinitialiser les événements ou qqch comme cela?

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059

Discussions similaires

  1. Onclick sur balise <a> pour traitement php
    Par Ojiuiookojbezib dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/01/2015, 11h00
  2. onclick sur balise <a>
    Par papouuu86 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/10/2009, 18h36
  3. onclick sur balise button
    Par sallemel dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/02/2009, 10h58
  4. [DOM] onClick sur balise Script
    Par electro38 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 01/07/2008, 08h31
  5. onclick sur deux éléments superposés et IE6
    Par sovitec dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/12/2005, 13h56

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