Variable javascript dans input html

Fermé
pedro_drogba Messages postés 4 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 9 août 2012 - 9 août 2012 à 11:29
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 - 10 août 2012 à 12:16
Bonjour tout le monde,
je voudrai savoir comment on peut insérer une variable javascript dans un input html.
j'explique le contexte j ai un bouton qui me génère de zone de texte mais j'arrive pas a avoir des noms différent pour ces zone de texte donc j'arrive pas a stocké ce qu'ils contiennent dans la base de donnée. ça fait deux jour que chui bloqué si vous pouvez m'aider ça sera génial.
Merci d'avance ...



3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
9 août 2012 à 13:30
tiens un exemple avec le name sous forme d'array ce qui permet de récupérer ensuite par une boucle tous les input:

<html>
<head>
<title>Insertion de lignes en JS</title>
<script type="text/javascript">
<!--
//init variable JS globale, elle conserve sa valeur entre chaque appel de la fonction
//c a d après le premier appel elle va passer à 1 etc...
i=0;
function create_champ(){
	//on increment la variable globale i, numero de produit
	i++;	
	// en JS on peut atteindre les elements de la page HTML par document.getElementById
	// creation de l'objet tableau avec lequeml on va travailler
    var obj_tableau=document.getElementById("tableau_produits"); 
	//lecture des lignes du tableau actuel, JS le met dans un array
	var arrayLignes = obj_tableau.rows;
	//pour avoir le nombre de lignes, avec  .length on a la taille de l'array
	var nbr_de_lignes=arrayLignes.length;
	//on insere une nouvelle ligne de tableau juste avant celle contenant le bouton
	var nouvelleLigne = obj_tableau.insertRow(nbr_de_lignes-1);
	//ensuite on remplit chacune des cellules <td></td> du tableau avec les input
	var colonne1=nouvelleLigne.insertCell(0);
	colonne1.innerHTML="Produit "+i;
	var colonne2=nouvelleLigne.insertCell(1);
	colonne2.innerHTML='<input type="text" name="lib_produit['+i+']" value="" />';
	var colonne3=nouvelleLigne.insertCell(2);
	colonne3.innerHTML='<input type="text" name="qte_produit['+i+']" value="" />';
	var colonne4=nouvelleLigne.insertCell(3);
	colonne4.innerHTML='<input type="text" name="prix_produit['+i+']" value="" />';
	//tu peux rajouter des colonnes, modifier le name, mais garde sa forme name="lib_produit['+i+']"
	//ainsi tu pourra facilement récuper par $_POST['lib_produit'] qui est un array, donc boucler pour insertiondans BDD
}
-->
</script>
</head>
<body onload="javascript:create_champ();">
<!-- au chargement de la page on ajoute la premiere ligne produit -->
<form name="form_ajaout_cde" method="post" action="" >
<table width="800" id="tableau_produits" >
    <tr>
        <th>Produit</th>
        <th>Libelle</th>
        <th>Quantité</th>
        <th>Prix</th>
        
    </tr>
    <tr>
        <td colspan="4">
			<input name="button" type="button" class="input2" onClick="javascript:create_champ()" value="Ajouter une ligne produit">
		</td>
    </tr>
</table>

</form>
</body>
</html>
2
pedro_drogba Messages postés 4 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 9 août 2012
9 août 2012 à 13:54
merci Alain_42 c'est trop gentille tu viens de me sauver
0
pedro_drogba Messages postés 4 Date d'inscription mardi 7 août 2012 Statut Membre Dernière intervention 9 août 2012
9 août 2012 à 14:35
au fait Alain est il possible accéder a i la variable globale en php ????
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
9 août 2012 à 17:33
je suppose que tu veux parler des $_POST

dans le cas exemple tu peux récupérer $_POST['lib_produit']
sous forme d'array
que tu parcours par une boucle
for($i=0;$i<sizeof($_POST['lib_produit']);$i++){
   echo '<br />Libelle produit '.$_POST['lib_produit'][$i];
}

0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
10 août 2012 à 12:16
pourquoi poster ne double ???
;)
0