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 :

garder les valeurs d'un champs texte après ajout d'autres


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de ke2007
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 82
    Points : 171
    Points
    171
    Par défaut garder les valeurs d'un champs texte après ajout d'autres
    Bonjour, désolé pour le titre mais c'est pas évident à expliquer en peu de mot.

    Voila, j'ai besoin de votre aide car je suis coincé sur un petit script test.
    Le script permet d'afficher autant de fois qu'on veux un champs te xt de formulaire à l'aide d'un bouton.
    Je voudrais que lorsque que je rentre le texte dans un champs et que j'appuie sur le bouton, le champs texte 1 garde ce que j'ai écrit, et affiche un champs texte2 vierge, et etc..pour les autres.

    J'avais fait ça avec un tableau, mais on ma dit qu'avec un "this", ça marchait.

    malheureusement, le premiere ajout fonctionne, ensuite, il me met le dernier changement de text dans tous les champs.

    Voici mon code:

    Code index.html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       			<span id="aff"></span>
       			<script type="text/javascript">ajout();</script>
     
    			<button onclick="ajout()">ajout</button>
    			<button onclick="supp()">supp</button>

    Code fonction.js : 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
    nb = 1;
    function ajout(){
    	nb++;
    	//alert(nb);
    	test();
    }
     
    function supp(){
    	nb--;
    	//alert(nb);
    	test();
    }
     
    elem = '';
    function save(e){
    	elem = e.value;
    	alert(elem);
    }
     
    function test(){
    	str = '';
    	for(i = 1; i < nb; i++){
    		str += '<input type="text" name="nom" onchange="save(this)" id="nom'+i+'" ';
    		if(elem) str += 'value="'+elem+'"';
    		str += '/><br />';
    	}
    	document.getElementById('aff').innerHTML = str;
    }

    en espèrant avoir était assez clair dans mes explications

    Merci d'avance

  2. #2
    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
    cet exemple peut-il t'aider?

    http://javatwist.imingo.net/ajouform.php

    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
    35
    36
    37
    38
    39
    <script type="text/javascript">
     
    var c,c2, ch;
     
    function plus(){
    	c=document.getElementById("cadre");
    	c2=c.getElementsByTagName("input");
    	ch=document.createElement("input");
     
    	ch.setAttribute("type","text");
    	ch.setAttribute("name","ch"+c2.length);
    	c.appendChild(ch);
     
    	document.getElementById("sup").style.display="inline";
    }
     
    function moins(b){
     
    	if(!c2[1]){
    		b.style.display="none"
    	}
     
    	if(c2[0]){	
    		c.removeChild(c2[c2.length-1])
    	}
     
    }
     
    </script>
     
    <form id="frm" action="">
    <div id="cadre" style="margin-left:100px;width:200px">
    </div>
     
    <p>
    <input type="button" value="ajouter un champ" onclick="plus()" />
    <input type="button" style="display:none" id="sup" value="supprimer un champ" onclick="moins(this)" />
    </p>
    </form>

Discussions similaires

  1. garder les valeurs des champs après actualisation
    Par mawkli dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 31/05/2012, 13h42
  2. lister les valeurs d'un champ par rapport a un autre champ
    Par w13winni dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2009, 10h24
  3. Réponses: 2
    Dernier message: 14/07/2009, 08h45
  4. Réponses: 3
    Dernier message: 28/03/2008, 16h51
  5. Réponses: 1
    Dernier message: 04/06/2006, 00h35

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