begin process at 2012 05 29 14:07:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Javascript insertion dynamique d'input - prb


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Javascript insertion dynamique d'input - prb

dimanche 11 septembre 2011 à 18:46:49 | Javascript insertion dynamique d'input - prb

tannana86

Bonjour,
Après des multiple essais infructueux, je m'adresse à vous chères âmes charitables !!
Mon objectif étant de :
pouvoir créer et supprimer dynamiquement des lignes de tableau contenant des inputs.
J'ai bien réussi à le faire, sauf qu'il y a un tout petit problème.
Quand j'insère une nouvelle ligne, les valeurs des input de la ligne au dessus se vide (ce que l'utilisateur a écrit.
Par exemple :
Je dois créer 2 produits, je créer une 1ère ligne, je met Produit A comme nom, je clique sur ajouter un autre produit, et la, Produit A disparaît laissant place à un champs vide.
Voici mes code
Code Javascript :
<script type="text/javascript"> //les fonction javascript pour ajouter / supprimer des produits ou des ?pes
			var i = 0;

				function fAddText() { //fonction qui cr?une ligne de produit en plus
					var Contenu = document.getElementById('Cible').innerHTML; //on affecte la var contenu a tout ce qui est dans <div id="cible">
					i=i+1;
	
					if(i<20){
					Contenu = Contenu +
					
			'<div style=\"float:left; width:515px; margin-left:2px; margin-bottom:2px;\" id=\"suppr'+i+'\"><div><input style=\"margin-right:2px;:100px;\" type=\"text\" name=\"produit'+i+'\"/><input type=\"text\" name=\"quantite'+i+'\" style="width:40px;" /><select style=\"width:80px; margin-right:2px; margin-left:2px;\" name=\"mesure'+i+'\"><option value=0><?php echo CHOISIR;?></option><option value=1><?php echo GRAMME;?></option><option value=2><?php echo CL;?></option></select><select style=\"margin-right:2px; width:57px; \" name=equivalent_nbr'+i+' id=equivalent_nbr'+i+'><option value=1><?php echo RIEN;?></option><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option><option value=10>10</option></select><select style=\"margin-right:2px; width:80px; \" name=equivalent'+i+' id=equivalent'+i+'><?php $req=mysql_query("SELECT * FROM recipients");while($data=mysql_fetch_assoc($req)){echo '<option value="'.$data['id'].'">'.constant($data['Lib']).'</option>';}?></select><input type="button" value="<?php echo SUPPRIMER_PROD;?>" onclick="removeIt('+i+')" /></div></div>'; // chaque clic qui declanche cette fonction, contenu aura un input en plus

					
					document.getElementById('Cible').innerHTML = Contenu;//on reaffecte le tout a la var Contenu
							}
					else
					{
					alert("<?php echo NBR_LIMITE_CLIC; ?>");
					}
				}
				function removeIt(i){ 
				ligne = document.getElementById('suppr'+i+'');
				ligne.removeChild(ligne.firstChild );
				} 
			</script>
			


Code HTML :
<table class="cible" style="width:79%; color:#666666">
							<tr><td style="width:150px; border:none;"> <?php echo NOM;?></td> <td style="width:70px; border:none;"> <?php echo QUANTITE;?></td> <td style="width:40px; border:none;"> <?php echo MESURE;?></td> <td style="border:none;"> <?php echo EQUIVALENT;?></td><td style="border:none;"></td></tr>
							</table>


Je vous remercie profondément !
dimanche 11 septembre 2011 à 19:46:54 | Re : Javascript insertion dynamique d'input - prb

kazma

Administrateur CodeS-SourceS
bonjour

sa serait bien de n'avoir que le fichier generé sans php et avec les retour chariot

et je ne voit pas l'element qui a l'id cible ?
dimanche 11 septembre 2011 à 20:06:50 | Re : Javascript insertion dynamique d'input - prb

tannana86

Avant tout, je vous remercie pour votre soutien.

sa serait bien de n'avoir que le fichier generé sans php et avec les retour chariot


ecxusez moi mais j'ai pas trop compris (je suis un débutant), mais d'apres ce que j'ai compris, pas de CONSTANT php quoi.
(code source navigateur).
Et en ce qui concerne l'id Cible, autant pour moi j'ai mis le mini tab avec une class Cible, qui affiché les titre des colonnes
Bref, voila le code :

Code Javascript :
<script type="text/javascript"> //les fonction javascript pour ajouter / supprimer des produits ou des ?pes

			var i = 0;



				function fAddText() { //fonction qui cr?une ligne de produit en plus

					var Contenu = document.getElementById('Cible').innerHTML; //on affecte la var contenu a tout ce qui est dans <div id="cible">

					i=i+1;

	

					if(i<20){

					Contenu = Contenu +

					

			'<div style=\"float:left; width:515px; margin-left:2px; margin-bottom:2px;\" id=\"suppr'+i+'\"><div><input style=\"margin-right:2px;:100px;\" type=\"text\" name=\"produit'+i+'\"/><input type=\"text\" name=\"quantite'+i+'\" style="width:40px;" /><select style=\"width:80px; margin-right:2px; margin-left:2px;\" name=\"mesure'+i+'\"><option value=0>Choisir</option><option value=1>Gramme(s)</option><option value=2>Centilitre(s)</option></select><select style=\"margin-right:2px; width:57px; \" name=equivalent_nbr'+i+' id=equivalent_nbr'+i+'><option value=1>Rien</option><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option><option value=10>10</option></select><select style=\"margin-right:2px; width:80px; \" name=equivalent'+i+' id=equivalent'+i+'><option value="0">Rien</option><option value="1">assiette(s)</option><option value="2">bol(s)</option><option value="3">cube(s)</option><option value="4">cuilli&egrave;re(s) &agrave; caf&eacute;</option><option value="5">cuilli&egrave;re(s) &agrave; soupe</option><option value="6">dosette(s)</option><option value="7">louche(s)</option><option value="8">morceau(s)</option><option value="9">paquet(s)</option><option value="10">part(s)</option><option value="11">portion(s)</option><option value="12">poign&eacute;e(s)</option><option value="13">pot(s)</option><option value="14">pincée(s)</option><option value="15">tasse(s)</option><option value="16">tranche(s)</option><option value="17">verre(s)</option><option value="18">sachet(s)</option><option value="19">pièce(s)</option></select><input type="button" value="Supprimer" onclick="removeIt('+i+')" /></div></div>'; // chaque clic qui declanche cette fonction, contenu aura un input en plus


					

					document.getElementById('Cible').innerHTML = Contenu;//on reaffecte le tout a la var Contenu

							}

					else

					{

					alert("Vous avez atteint le nombre maximum autorisé de clic ! <br /> Vous avez le droit de cliquer 20 fois au maximum sur le bouton Ajouter un produit. Pour recommencer, actualisez la page");

					}

				}

				function removeIt(i){ 

				ligne = document.getElementById('suppr'+i+'');

				ligne.removeChild(ligne.firstChild );

				} 

			</script>

			


Code HTML :
<table class="cible" style="width:79%; color:#666666">

							<tr><td style="width:150px; border:none;"> Nom</td> <td style="width:70px; border:none;"> Quantite <br />(g/cl)</td> <td style="width:40px; border:none;"> Mesure</td> <td style="border:none;"> Equivalent à</td><td style="border:none;"></td></tr>

							</table>

							

							

							<div id="Cible"  style="color:#666666"><!-- tableau qui va contenir les produits -->

							

							</div>		

encore merci !
dimanche 11 septembre 2011 à 21:50:25 | Re : Javascript insertion dynamique d'input - prb

kazma

Administrateur CodeS-SourceS
j'utilise tres peut innerHTML mais il est fort possible qu'en fesant

Code Javascript :
var Contenu = document.getElementById('Cible').innerHTML;


ca ne recopie que le html et pas les valeurs contenu dans les input il faudrait faire un teste comme ceci

Code Javascript :
function fAddText() { //fonction qui cr?une ligne de produit en plus

					var Contenu = document.getElementById('Cible').innerHTML; //on affecte la var contenu a tout ce qui est dans <div id="cible">

					i=i+1;

					document.getElementById('Cible').innerHTML = Contenu;
}


dimanche 11 septembre 2011 à 22:45:44 | Re : Javascript insertion dynamique d'input - prb

tannana86

Bonsoir,
Malheureusement, toujours pas !
J'y perd mes cheveux
dimanche 11 septembre 2011 à 23:32:33 | Re : Javascript insertion dynamique d'input - prb

pmcoste

Réponse acceptée !

Bonsoir,

Essaie de créer un nouvel élément avec la méthode "createElement". Je te donne un exemple, à toi d'adapter à ce que tu veux faire !

Code Javascript :
var Contenu = document.getElementById('Cible'); //récupération de ta cible

var nouveauContenu=document.createElement('div'); //Création d'un nouvel élément
nouveauContenu.innerHTML="Test de contenu"; //Contenu de ton nouvel élément

Contenu.appendChild(nouveauContenu); // On ajoute ensuite ce nouvel élément à la cible



Bonne continuation !
---------------------
Oderint dum metuant
lundi 12 septembre 2011 à 00:05:26 | Re : Javascript insertion dynamique d'input - prb

tannana86

Merci beaucoup pmcoste !! je viens à peine de tester avec un seul input et ca marche à merveille !! il me reste juste à adapter mon code et adapter le bouton qui supprime l'input !!! Encore merci pour votre esprit d'aide et de partage.

A bientôt
Bonne soirée


Cette discussion est classée dans : input, ligne, code, contenu, produit


Répondre à ce message

Sujets en rapport avec ce message

Remplacer du text existant à la volée [ par FlaviusVII ] Bonjour, J'ai besoin de transformer un chaine de texte par le contenu d'un input et ce lettre par lettre. Pour être plus clair, voici mon code : [ Parcours d'un tableau en JS [ par Canyata ] Bonjour à tous [^^happy17] J'ai une question à vous poser. J'ai un tableau en HTML sur ma page: [code=php]echo""; echo""; echo""; echo""; Besoin d'aide pour un code javascript [ par zaknoune ] Bonjour, Je souhaite ajouter quelques retouches à cette source : Je m'explique : Le code ci-dessous comme vous pouvez le constater il s'agit de v afficher le contenu de tbody [ par addrock ] salut a tous j'ai créé cette code qui me permet d'afficher le contenu de "tbody" lorsque je clic sur "clic" alors mon problème je veux afficher le Suppression de lignes ajoutées, dans un tableau [ par ju0123456789 ] Bonjour, Tout d'abord désolé si je ne suis pas dans le bon sujet. Ensuite, J'ai un tableau par défaut avec 3 lignes. J'ai créé un bouton qui en créé Probleme de suppression avec un input type [ par mageek06 ] Bonjour, j'ai ce code la : [code=js] <!-- function ajouter() { var input = document.getElementById('texte'); // on place dan Accéder aux lignes d'un tableau (JavaScript) depuis le code behind(C#) [ par MathieuDev ] Bonjour à tous, je fais appel à codes-sources.com car je rencontre un problème sur mon application web. En effet, j'ai construit un tableau html vide afficher une liste déroulante en cliquant sur un input [ par lsamsoumal ] Bonjour tout le monde je suis débutante en javascript et je cherche depuis le début de la journée à résoudre mon problème sans résultat!! En fait je d problème placement d'une div dans une boucle php (fonction ajax) [ par testyo ] Bonjour à tous , J'ai un fichier php qui génère un tableau à la fin de chaque ligne j'ai créé des boutons (+) et (-) qui affiche et masque des détail novice cherche de l'aide pour editeur wysiwyg , (récupération des données d'une <iframe>) [ par dareman ] bonjour, étant en lp mesi, je suis amené a travailler sur des sites de gestions de mon entreprise. j'utilise donc les langages suivant asp et javascri


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales