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] innerhtml et fermeture de balise


Sujet :

JavaScript

  1. #1
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut [DOM] innerhtml et fermeture de balise
    Quand j'utilise la propriété innerhtml, je n'arrive pas à refermer les balise HTML car le slash pose problème.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultat.innerHTML += '<td class=modif colspan=9>Un texte de test<\/td>';

  2. #2
    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 640
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    passe plutot par le DOM pour ajouter une cellule ...

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142

  4. #4
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Merci pour vos infos, ca gazouille. Sauf que maintenant j'ai une autre question.

    Comment puis-je éviter de créer une case supplémentaire à chaque fois que le client click? Existe-t-il un test qui me permette de savoir si une cellule existe je la détruit ?

    La fonction de 'delete' devrait pouvoir être conditionnelle (une bascule), mais je ne sais pas comment ?
    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    resultat.deleteCell(0);
    	Case = resultat.insertCell(0);
    	Case.className="tdmodif";
    	Case.colSpan=9;
     
    	for (i=0;i<items.length;i++)
    	{
    		Case.innerHTML += items.item(i).firstChild.data + " ";
    	}

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    attention tu utilises un nom de variable qui peut prêter à confusion :
    tu as une variable Case, tu risques de confondre avec le mot clef case :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    switch (variable)
    {
       case 0: // instruction
                  break;
       case 1: // instruction
                  break;
      // etc. 
    }

  6. #6
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Merci pour l'infos, mais compte tenu de la remarque constructive de SpaceFrog, je me suis penché sur les fonctions insertRow(), insertCell() et autres propriétés rowIndex... du DOM, ce qui est bien plus propre.

    Je créé maintenant dynamiquement des lignes dans des <table>.

    Par contre je suis toujours en train de me débattre avec les "display: none;" ou "display: table-row;".
    Mon objectif étant de faire apparaitre une "ligne formulaire" au dessus de la ligne que l'utilisateur veut modifier dans un tableau de données.

    Je ne sais pas quel nom porte cette technique, mais elle est courante sur des sites bien fait et conviviaux.
    En cours de consultation d'une liste de données sous forme de tableau. L'utilisateur, peut en cliquant sur le bouton modif de la ligne faire apparaitre une nouvelle ligne qui lui permet d'entrée en mode modification.

    J'aimerais pouvoir comparer ma méthode, complexité et le résultat avec d'autres. Si vous avez des liens, je suis preneur.
    Merci

  7. #7
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut juste en passant...
    Citation Envoyé par riete Voir le message
    ... je me suis penché sur les fonctions insertRow(), insertCell() et autres propriétés rowIndex... du DOM...
    Dans ton cas, va peut-être aussi jeter un oeil sur insertBefore()

  8. #8
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par RomainVALERI Voir le message
    Dans ton cas, va peut-être aussi jeter un oeil sur insertBefore()
    Bien tenté Romain, mais MS n'est même pas capable de mettre en exemple qui fonctionne. Dans cet exemple, il est fait appel à un objet "oUL1" qui n'est pas déclarer. Comme je ne travail pas avec IE :-/.
    Quoi qu'il en soit merci quand même.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function insertElement()
        {
            var nod=document.createElement("li");
            oUL1.insertBefore(nod, oLIYellow);
            nod.innerText="Orange";
        }

  9. #9
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par riete Voir le message
    ...Comme je ne travail pas avec IE ...
    Il y en a qui ont de la chance ...
    Débugger du javascript sous IE --->

    Bon dev a toi en tout cas

  10. #10
    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 640
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Il existe des solutions pour debugger sous IE ...

    Il y a un sujet sur ce forum à ce propos dans les contributions me semble-t-il ...

  11. #11
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    au temps pour moi... ;-)

    voilà le lien pour les autres que moi qui seraient intéressés : débuggage sous IE et FF
    ...et merci en passant

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

Discussions similaires

  1. [DOM] XML problème de fermeture de balise
    Par yoyostras dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/05/2012, 16h16
  2. [DOM] innerHTML et <table>
    Par djayp dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2008, 13h21
  3. [DOM] innerHTML value input firefox
    Par Teufboy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/08/2007, 10h07
  4. innerHTML : fermeture de balise automatique ??
    Par pekka77 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 17/11/2005, 17h51
  5. Problème de fermeture de balise <tr>
    Par nuage dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/03/2004, 09h55

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