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 :

problème d'appel de fonction en utilisant innerHTML


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 25
    Par défaut problème d'appel de fonction en utilisant innerHTML
    Bonsoir,

    Je rencontre un problème inexplicable, j'ai simplifié le code pour que ce soit plus facile à comprendre. J'utilise le DOM pour créer dynamiquement un tableau dans un frame et je voudrais exécuter une fonction en utilisant la propriété innerHTML

    Ce premier code fonctionne parfaitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ligne(numero) {
    ...
    cellule = parent.frames[0].document('td');
    var html = '<a href="javascript:alert(' + numero + ')">essai_de_fonction</a>';
    cellule.innerHTML = html;
    ...
    }
    Mais ce deuxième code lui ne marche pas ; j'obtiens le message d'erreur "objet attendu", comme si la fonction appelée (essai) n'était pas vue par le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function essai(num) {
    alert(num);
    }
    function ligne(numero) {
    ...
    cellule = parent.frames[0].document('td');
    var html = '<a href="javascript:essai(' + numero + ')">essai_de_fonction</a>';
    cellule.innerHTML = html;
    ...
    }

  2. #2
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 25
    Par défaut
    ça dit rien à personne alors ?

    Je joins les fichiers html au cas où ...

    le code se trouve dans le fichier bas.html

    merci
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 25
    Par défaut
    Bon bin personne n'a trouvé (ou cherché ?) dommage.

    Après plusieurs jours je viens enfin de résoudre le problème.

    Celui-ci ne se produit que dans un système de frames :

    si on crée à la volée avec innerHTML dans un frame X, un tag <a> appelant une fonction, à partir d'un frame Y, il faut écrire le code de la fonction dans le frame X et non dans le frame Y sinon la fonction n'est pas "vue".

    Voila si ça peut être utile à quelqu'un d'autre ...

  4. #4
    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
    code horriblement... laid;

  5. #5
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 25
    Par défaut
    Et alors, tu ne réponds que si le code est joli ?

    laid ça veut dire quoi ? pas optimisé ? tu as un exemple ?

    tu connais un autre moyen pour créer et supprimer des lignes de tableau à la volée dans un frame ?

  6. #6
    Membre éclairé Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Par défaut
    Salut crak

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    var html = '<a href="javascript:function() {essai(' + numero + ')}">essai_de_fonction</a>';
    ça donne quoi ?

Discussions similaires

  1. Appel de fonction javascript dans innerHtml
    Par Empty_body dans le forum Général JavaScript
    Réponses: 23
    Dernier message: 14/03/2006, 12h41
  2. Problème d'appel de fonction
    Par claralavraie dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/12/2005, 20h17
  3. Réponses: 7
    Dernier message: 10/09/2005, 16h49
  4. [DLL] problème pour appeler une fonction d'une DLL
    Par bigboomshakala dans le forum MFC
    Réponses: 34
    Dernier message: 19/07/2004, 11h30
  5. Réponses: 4
    Dernier message: 19/04/2004, 13h41

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