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 :

Ajouter et supprimer des champs d'un formulaire


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 15
    Points : 19
    Points
    19
    Par défaut Ajouter et supprimer des champs d'un formulaire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form id="myform">
    	<div id="forminputs">
    		<select id ="select1" name="select1"><option>AK SUPRA 200</option></select>
    		<input type="text" name="input1" value="1" />
    	</div>
    	<div name="add">
    		<a href="" onclick="ajouter(); return false;" id="btnadd">ajouter</a>
    	</div>
    </form>
    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
    var inputs = 1; 
    var form = document.getElementById('forminputs');
    function ajouter(){
    	if(inputs == 1){
    		form.innerHTML = '<a onclick ="sup(1); return false;" href="" id="sup'+(val)+'">supprimer</a><select id ="select1" name="select1"><option>AK SUPRA 200</option></select><input type="text" name="input1" value="1" /><br />';
    	}
    	var val=++inputs;
    	form.innerHTML+='<a onclick ="sup('+(val)+'); return false;" href="" id="sup'+(val)+'">supprimer</a><select id ="select'+(val)+'" name="select'+(val)+'"><option>AK SUPRA 200</option></select><input type="text" name="input'+(val)+'" value="1" id="input'+(val)+'"/><br />';
    }
     
    function sup(row){
    	sup = document.getElementById('sup'+row);
    	select = document.getElementById('select'+row);
    	input = document.getElementById('input'+row);
    	sup.parentNode.removeChild(sup);
    	select.parentNode.removeChild(select);
    	input.parentNode.removeChild(input);
    }
    le code fonction bien je peux ajouter des champs, le problème c'est que la suppression ne fonction que la première fois quand j'essey de supprimer un champ, ensuite le script bug. j'arrive pas trouver l'erreur dans mon script ?? !!
    merci d'vance

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    form.innerHTML = '<a onclick ="sup(1); return false;" href=""
    A+.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 15
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form.innerHTML+='<a onclick ="sup('+(val)+');
    le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form.innerHTML = '<a onclick ="sup(1); return false;" href=""
    est spécifie juste pour la première ligne

    j'ai utiliser l'outil firebug de mozila y'a pas de probleme dans la syntaxe des champs générer par le JS.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 073
    Points : 44 665
    Points
    44 665
    Par défaut
    Bonjour,
    au passage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function sup(row){
        sup = document.getElementById('sup'+row);
    une variable qui à le même nom que la fonction dans laquelle elle se trouve c'est très très moyen...

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Modifie le nom de la variable sup dans la fonction.

    Sinon, il est plus facile de les mettre dans un bloc div et tu supprimes seulement le div sinon les br trainent toujours.

    Edit: owned.

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 15
    Points : 19
    Points
    19
    Par défaut
    merci à vous,
    j'ai changer le nom de la variable "sup" est ça marché :

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

Discussions similaires

  1. Ajouter + supprimer - des champs dans un formulaire
    Par tmedtcom dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/05/2012, 10h20
  2. Ajouter des champs à un formulaire via un bouton
    Par Stass dans le forum Langage
    Réponses: 11
    Dernier message: 08/09/2006, 17h02
  3. Ajouter des champs à un formulaire via un bouton
    Par Stass dans le forum Langage
    Réponses: 11
    Dernier message: 08/09/2006, 17h02
  4. Ajouter des champs a un formulaire via un bouton
    Par Stass dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 13h59
  5. Ajouter des champs dans un formulaire
    Par Luffy Duck dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/05/2006, 10h30

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