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 :

changement du type d'un noeud


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Par défaut changement du type d'un noeud
    Bonjour,

    Est-ce que c'est possible de transformer facilement ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p id="id1">une ligne</p>
    en ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="id1" type="text" value="une ligne">
    a l'aide de javascript ?

    merci !

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    normalement oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tag = document.getElementById('id1');
    tag.outerHTML = '<input id="id1" type="text" value="' + tag.nodeValue +'">';
    sinon, il faut jouer sur le nodename et les différents attributs...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var tag = document.getElementById('id1');
    tag.nodeName = 'input';
    tag.setAttribute('id', 'id1');
    tag.setAttribute('type', 'text');
    tag.setAttribute('value', tag.nodeValue);
    tag.innerHTML = '';
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var tag = document.getElementById('id1');
    var newtag = document.createElement('input');
    newtag.setAttribute('id', 'id1');
    newtag.setAttribute('type', 'text');
    newtag.setAttribute('value', tag.nodeValue);
    tag = newtag;
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Par défaut
    merci !

    ton premier exemple marche avec IE, mais pas avec fireFox

    la deuxieme ne marche pas avec IE (je crois qu'il connait pas 'nodeName')
    et pas non plus avec firefox (il accepte pas tag.nodeName='input';

    la 3ieme, ca semble ne rien donner du tout

    ca vient peut-etre de ma facon de lancer le script.

    je poste ta 3ieme methode avec le reste du code:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>New Document</TITLE>
    <script language="Javascript">
    function ChangeTag (id) {
        tag = document.getElementById(id);
        if (tag.tagName=='P') {
     
            var newtag = document.createElement('input');
            newtag.setAttribute('id', id);
            newtag.setAttribute('type', 'text');
            newtag.setAttribute('value', tag.nodeValue);
            tag = newtag;
     
    //        alert("oui");
        } else {
    //        alert("non");
        }
        //alert(tag.tagName);
        //alert(tag.innerHTML);
    }
    </script>
     
    </HEAD>
    <BODY>
    <form name="form1">
        <p style="text-align:center;">Formulaire</p>
     
        <p id="d" onClick="ChangeTag('d');">bonjour</p>
    </form>
    </BODY>
    </HTML>

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    arf, outerHTML qui va pas sous Firefox... je m'en doutais un peu

    en pièce jointe, une solution qui marche sous IE et FF testé ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Par défaut
    super ! merci bcp, ca marche parfaitement

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    De rien, pense au résolu
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

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

Discussions similaires

  1. [Fortran] Changement de type
    Par sebduth dans le forum Fortran
    Réponses: 1
    Dernier message: 08/08/2005, 12h44
  2. PB changement de type d'un champ ds INTERBASE
    Par vanoou dans le forum InterBase
    Réponses: 3
    Dernier message: 03/01/2005, 17h24
  3. Changement de type
    Par spoutyoyo dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/08/2004, 15h39
  4. [CR]Changement de type de base de donnée
    Par nabil dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 12/04/2004, 22h42
  5. changement de type pour un champ dans une table
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/02/2004, 15h26

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