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 value input firefox


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 53
    Points
    53
    Par défaut [DOM] innerHTML value input firefox
    Bonjour à tous,
    Je test la création d'un formulaire avec ajout de ligne, mais je ne sais pas si je m'y prends de la façon correcte.
    Je récupère le contenu des champs texte de mon formulaire avec document.getElementById('...').innerHTML puis j'y ajoute une ligne comme il est fait sur le tut http://robloche.free.fr/javascript/js_request/test.html.
    Alors ma première question, est-ce que c'est une bonne aproche ?
    Ma deuxième question et plus pratique, quand je saisis les champs text du formulaire sous FireFox, puis que je récupère le contenu avec innerHTML, ajoute une ligne puis réaffiche, le contenu des input déjà saisi s'efface alors que sous IE c'est ok.

    Voici la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function addFourniture() {
        document.getElementById("varFourniture").innerHTML +="<input type='text' name='fourniture" +max_var_Fourniture + "' size='142'><br>";
        ++max_var_Fourniture;
      }
    Merci de votre aide ;-)

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    salut,
    alors tu peux faire comme ça mais je te conseil de le faire en utilisant le dom plutot (bientot dans la faq javascript ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function addFourniture() {
        var lediv = document.getElementById("varFourniture");
        var inp = document.createElement("input");
        inp.type="text";
        inp.name=name="fourniture" +max_var_Fourniture;
        lediv.appendChild(inp);
        lediv.appendChild(document.createElement("br"));
        max_var_Fourniture++;
      }
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    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 681
    Points : 5 221
    Points
    5 221
    Par défaut
    exemple:

    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
    <script type="text/javascript"> 
     
     
    function gere(b){
    c=document.getElementById("cadre");
    l=c.getElementsByTagName("input");
    if(b=="plus"){
    	if(l.length<10){
    		var ch=document.createElement("input");
    		ch.type="text";
    		ch.name="t"+l.length;
    		ch.id="t"+l.length;
    		ch.style.display="block";
    		c.appendChild(ch)
    	}
    }
    else if(l.length>1){
    		c.removeChild(c.lastChild)
    	}
    }
     
    </script>
     
    <form id="f" action="">
    <p>
    <input type="button" id="plus" value="ajouter un champ" onclick="gere(this.id)" />
    <input type="button" id="moins" value="enlever un champ" onclick="gere(this.id)" />
    <p>
    <p id="cadre">
    <input name="t0" id="t0" type="text" />
    </p>
    </form>

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    un champs input n'a pas de innerHTML le inner corresponds à la partie entre la balise ouvrante et la balise fermante
    un input est une balise vide

    quoi qu'il en soit il est beaucoup plus propre et portable d'utiliser les fonction du DOM

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myinput = document.getElementById("varFourniture");
    thevalue = myinput.getAttribute("value");

    pour ce qui est de innerHTML c'est un ajout de bill
    il est préférable d'utiliser la fonction du DOM getText qui retourne une référence sur le contenu de la balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <textarea id="un_texte">coucou machin</textarea>
     
     
    mytextarea = document.getElementById("un_text");
    mytext = mytextarea.getText();
    mytext = mytext + " chose";
    A+JYT

  5. #5
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par javatwister Voir le message
    exemple:

    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
    <script type="text/javascript"> 
     
     
    function gere(b){
    c=document.getElementById("cadre");
    l=c.getElementsByTagName("input");
    if(b=="plus"){
    	if(l.length<10){
    		var ch=document.createElement("input");
    		ch.type="text";
    		ch.name="t"+l.length;
    		ch.id="t"+l.length;
    		ch.style.display="block";
    		c.appendChild(ch)
    	}
    }
    else if(l.length>1){
    		c.removeChild(c.lastChild)
    	}
    }
     
    </script>
     
    <form id="f" action="">
    <p>
    <input type="button" id="plus" value="ajouter un champ" onclick="gere(this.id)" />
    <input type="button" id="moins" value="enlever un champ" onclick="gere(this.id)" />
    <p>
    <p id="cadre">
    <input name="t0" id="t0" type="text" />
    </p>
    </form>
    Je déterre un vieux sujet, mais j'ai le même problème, et je suis tout content d'avoir vu cette solution, sauf que sous IE, ça nous demande d'autorisé le contenu activeX etc ... donc pas tip top ...

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

Discussions similaires

  1. [DOM] Effacer champ input file
    Par vince_grenoblois dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 14/02/2009, 15h54
  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, radioButton et Firefox
    Par jupit dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/04/2007, 20h49
  4. [DOM] DOM afficher un input avec du texte dedans
    Par NeHuS dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2006, 22h41
  5. [DOM] [javascript] pb IE/Firefox
    Par topolino dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/12/2005, 10h20

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