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 avec InnerHTML


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut [Résolu] Problème avec InnerHTML
    Bonjour à tous !

    J'essaie de réaliser une sorte d'interface assez dynamique en qui permet d'afficher et de masquer des champs de formulaire à la volée. Jusqu'ici j'y arrive, tout va bien : je clique sur un lien, ça affiche mon champ, je reclique, et ça retire ce champ.

    Le problème, c'est que j'arrive à afficher le formulaire et à le masquer une fois, mais si je veux le réafficher une nouvelle fois, là je n'y arrive plus. En gros, il affiche et cache le formulaire qu'une seule fois. Je n'arrive pas à trouver où est mon erreur. J'utilise la fonction Javascript innerHTML.

    J'utilise ces deux fonctions Javascript là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function afficheChampUpload(whatdiv)
    {
          document.getElementById(""+whatdiv+"").innerHTML="<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"10000000\">\n<input type=\"file\" name=\""+whatdiv+"\" size=\"30\" onChange=\"setModifie();\"><a href=\"#\" onClick=\"afficheTextUpload('"+whatdiv+"');\">Retirer l'image</a>\n";
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function afficheTextUpload(whatdiv)
    {
          document.getElementById(""+whatdiv+"").innerHTML="<a href=\"#\" onClick=\"afficheChampUpload("+whatdiv+");\">Ins&eacute;rer une image</a>";
    }
    Lors que je fais afficher la valeur de ma variable "whatdiv" par un alert par exemple, la première fois pour chaque fonction, j'ai les bonnes valeurs (c'est à dire une chaine de caractère représentant l'id de ma balise <div id="xxxx"></div>, mais la seconde fois pour la fonction (c'est à dire quand je fait par exemple afficher->cacher->afficher, j'ai l'affichage "[object HTMLDivElement]" au lieu de la valeur de ma variable. On dirait qu'au bout de deux fois, la valeur de ma variable se perd...

    Quelqu'un aurait une idée ???
    Merci d'avance !!!

  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 Re: Problème avec InnerHTML
    Citation Envoyé par rat dgout
    document.getElementById(""+whatdiv+"").innerHTML="<a href=\"#\" onClick=\"afficheChampUpload("+whatdiv+");\">Ins&eacute;rer une image</a>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
          document.getElementById(""+whatdiv+"").innerHTML="<a href=\"#\" onClick=\"afficheChampUpload(' "+whatdiv+" ');\">Ins&eacute;rer une image</a>";
    Faut rajouter des guillements.

    Ceci dit, pour afficher/cacher des elements, je prefere le style:
    display : none / block
    Ca permet d'afficher/cacher des elements, sans changer leur code HTML...

    PS: @modos: comment on fiat de la mise en forme (b ou color) dans des balises code?

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    OK, merci beaucoup, ça marche nickel, c'était vraiment une erreur bête !!!
    Effectivement, pouvoir mettre du gras dans le code, ce serait plus visible...

    Merci encore denisC !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/06/2007, 09h08
  2. innerHTML problème avec Firefox
    Par AsTeR_ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/09/2006, 09h59
  3. problème avec le innerHTML des listes déroulantes
    Par gisele dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/07/2006, 18h01
  4. problème avec innerHTML sur Mozilla
    Par dom78 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/07/2006, 13h25
  5. [IE]Problème d'ajout de contenu avec innerHTML
    Par Pollux dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 09/06/2006, 12h27

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