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

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Juillet 2005
    Messages
    67
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    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 : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    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++;
      }

  3. #3
    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
    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
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    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
    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 ...

  5. #5
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    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

+ 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