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

jQuery Discussion :

Générateur de formulaire


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 99
    Par défaut Générateur de formulaire
    Bonjour,

    je suis en train de faire un TP pour créer un générateur de formulaire. J'ai pas mal avancé mais j'ai un souci, quand je créer d'autres lignes, elles se créent en double... :

    Nom : input.PNG
Affichages : 372
Taille : 1,3 Ko

    voici mon
    Code HTML : 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
    <html>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width">
    	<title>Cours</title>
    	<link href="test.css" rel="stylesheet" type="text/css" />
    	<script src="jquery-3.3.1.min.js"></script>
    	<script src="jquery-ui.js"></script>
    	<script src="test.js"></script>
    </head>
    <body>
    	<div id="form">
     
    	</div>
    	<div id="crea_form">
    		<p>Utilisez ces boutons pour créer votre formulaire</p>
    		<span id="btn_crea">
    			<button id="btn_label">Label</button>
    			<button id="btn_txt">Zone de texte</button>
    			<button id="btn_btn">Bouton</button>
    		</span>
    		<span id="label">
    				<label>Label : </label>
    				<input type="text">
    				<button>OK</button>
    		</span>
    		<span id="txt">
    				<label>Zone de texte : </label>
    				<input type="text">
    				<button>OK</button>
    		</span>
    		<span id="btn">
    				<label>Bouton : </label>
    				<input type="text">
    				<button>OK</button>
    		</span>
    	</div>
     
    </body>
    </html>
    Code CSS : 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
    body{
    	display: flex;
    	flex-direction: row;
     
    }
     
    #form{
    	display: flex;
    	flex-direction: column;
    	background-color: #F3F781;
    	/*border: 1px solid black;*/
    	width: 70%;
    }
     
    p{
    	font-size: 14px;
    	margin-top: 0px;
    	margin-bottom: 4px;
    }
     
    #btn_crea{
    	margin-bottom: 4px;
    	/*border-bottom: 2px solid black;*/
    }
     
     
    #crea_form{
    	display: flex;
    	flex-direction: column;
    	text-align: center;
    	background-color: #58D3F7;
    	width: 30%;
    	/*border: 1px solid black;*/
    }
     
    #label,#txt,#btn{
    	display: none;
    }

    et le jquery :
    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
    $(document).ready(function(){
    	var $label = $('#btn_crea #btn_label'),
    			$txt = $('#btn_crea #btn_txt'),
    			$btn = $('#btn_crea #btn_btn'),
    			$val_label = $('#label input'),
    			$val_txt = $('#txt input'),
    			$val_btn = $('#btn input'),
    			val_label = '',
    			val_txt = '',
    			val_btn = '',
    			sel_val = '';
     
     
     
    	$label.click(function(){
    		$('#label').show();
    		$val_label.val('');
    		$('#label button').click(function(){
    			val_label = $val_label.val();
    			sel_val = '"'+val_label+'"'
    			//alert(val_label);
    			$('#form').append('<div id="'+val_label+'"><span>'+val_label+'</span></div>');
    			$('#label').hide();
    		});
    	});
     
    	$txt.click(function(){
    		$('#txt').show();
    		$val_txt.val('');
    		$('#txt button').click(function(){
    			val_txt = $val_txt.val();
    			//alert(val_txt);
    			$('#form [id="'+val_label+'"]').append('<input id="'+val_txt+'" type="texte" >');
    			$('#txt').hide();
    		});
    	});
    Je vous remercie par avance pour votre aide

  2. #2
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    J'ai lu en diagonale.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $label.click(function(){
    		$('#label').show();
    		$val_label.val('');
    		$('#label button').click(function(){
    			val_label = $val_label.val();
    			sel_val = '"'+val_label+'"'
    			//alert(val_label);
    			$('#form').append('<div id="'+val_label+'"><span>'+val_label+'</span></div>');
    			$('#label').hide();
    		});
    	});
    Je pense que de cette manière, à chaque clic sur $label tu attaches un nouvel événement click sur ton bouton et le code s'exécute donc plusieurs fois.

  3. #3
    Membre très actif
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 99
    Par défaut
    Merci

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

Discussions similaires

  1. Générateur de formulaires WYSIWYG
    Par amazircool dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 26/03/2007, 17h16
  2. Réponses: 19
    Dernier message: 20/12/2006, 10h15
  3. [Struts] Générateur de formulaires pour le web ?
    Par Adrien09 dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/10/2006, 11h19
  4. Générateur de formulaire
    Par slimjoe dans le forum Delphi
    Réponses: 4
    Dernier message: 20/09/2006, 14h06
  5. [phpMyAdmin] générateur de formulaire
    Par meufeu dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/11/2005, 12h01

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