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 :

innerHTML ne fonctionnant pas avec IE


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut innerHTML ne fonctionnant pas avec IE
    Bonsoir,

    J'ai un table qui contient plusieurs tbody.

    Un de ces tbody a l'id "co_author"

    Dans ce Tobdy, j'aimerais insérer 3 zones de textes, j'appelle donc sur le clic d'un bouton une fonction nommée Add_Co_Author.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="button" value="Add CO-AUTHOR" onClick="Add_Co_Author();"></td>
    Voici le code de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function Add_Co_Author()
    {
    	if(global_numero_auteur < 13)
    	{
    		document.getElementById('co_author').innerHTML+= '<tr><td class="important">CO-AUTHOR '+global_numero_auteur+'</td></tr><tr><td>FIRST NAME<span class="asterix">*</span></td><td align="left"><input type="text" size="50"></td></tr><tr><td>LAST NAME<span class="asterix">*</span></td><td align="left"><input type="text" size="50"></td></tr><tr><td>INSTITUTION/AFFILIATION<span class="asterix">*</span></td><td align="left"><input type="text" size="50" onfocus="this.style.backgroundColor=\'yellow\'" onblur="this.style.backgroundColor=\'white\'"></td></tr>';
    	}
     
    	global_numero_auteur+=1;
    }
    J'arrive dans la fonction, global_numero_auteur vaut 4 quand j'arrive dans la fonction (je l'ai vérifié par une alerte).

    Le problème doit venir du innerHTML.

    Auriez-vous une autre solution fonctionnant avec IE ?

    Edit :

    J'ai aussi testé ceci mais sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function Add_Co_Author()
    {
    	contenu_precedent = new String(document.getElementById('co_author').innerHTML);
     
    	//alert(global_numero_auteur);
    	if(global_numero_auteur < 13)
    	{
    		document.getElementById('co_author').innerHTML = contenu_precedent.concat('<tr><td class="important">CO-AUTHOR '+global_numero_auteur+'</td></tr><tr><td>FIRST NAME<span class="asterix">*</span></td><td align="left"><input type="text" size="50"></td></tr><tr><td>LAST NAME<span class="asterix">*</span></td><td align="left"><input type="text" size="50"></td></tr><tr><td>INSTITUTION/AFFILIATION<span class="asterix">*</span></td><td align="left"><input type="text" size="50" onfocus="this.style.backgroundColor=\'yellow\'" onblur="this.style.backgroundColor=\'white\'"></td></tr>');
    	}
    	global_numero_auteur= global_numero_auteur+1;
    }
    En tout cas, avec Firefox, cela fonctionne parfaitement.

    Merci d'avance.

    beegees

  2. #2
    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
    un ptit parseInt, pour vérifier que ta variable est bien numérique?

  3. #3
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Cela ne viendrait pas du "+" a droite de ton innerHTML ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('co_author').innerHTML+=...

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 117
    Par défaut
    <TABLE>.innerHTML
    <TBODY>.innerHTML
    <SELECT>.innerHTML
    <TR>.innerHTLM
    provoquent des erreur sous IE, c'est con, mais c'est comme ça.

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par javatwister Voir le message
    un ptit parseInt, pour vérifier que ta variable est bien numérique?
    Salut,

    J'ai fait une alerte typeof et il m'indique "number".

    Le problème ne viendrait donc pas de là.

    Encore merci.

    beegees

    Citation Envoyé par AcidLines Voir le message
    Cela ne viendrait pas du "+" a droite de ton innerHTML ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('co_author').innerHTML+=...
    Salut,

    Avec ou sans +, ça ne fonctionne pas.

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('co_author').innerHTML ='teste';
    Sans succès.

    Merci pour ton aide.

    beegees

    Citation Envoyé par Gatsu35 Voir le message
    <TABLE>.innerHTML
    <TBODY>.innerHTML
    <SELECT>.innerHTML
    <TR>.innerHTLM
    provoquent des erreur sous IE, c'est con, mais c'est comme ça.
    Salut,

    Merci pour ta réponse.

    Je dois alors utiliser le DOM (création de TR, TD...) ? ou as-tu une autre solution ?

    Encore merci

    beegees

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Salut Beegees ;-)

    je ne crois pas qu'il puisse il y avoir plusieurs tbody dans un tableau :-/

    aurais tu un code un peu plus complet de ce que tu souhaites faire ?

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

Discussions similaires

  1. innerHTML ne fonctionne pas avec FireFox
    Par MedNaceur dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/12/2009, 17h31
  2. Réponses: 1
    Dernier message: 25/01/2007, 18h19
  3. evenement onclick ne fonctionne pas avec explorer??
    Par nath-0-0 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/03/2006, 12h13
  4. Réponses: 7
    Dernier message: 24/01/2006, 11h03
  5. window.resizeTo ne fonctionne pas avec firefox?
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/06/2005, 15h07

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