Variable javascript dans input html

pedro_drogba Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
bg62 Messages postés 23732 Date d'inscription   Statut Modérateur Dernière intervention   -
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   Statut Membre Dernière intervention   894
 
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   Statut Membre Dernière intervention  
 
merci Alain_42 c'est trop gentille tu viens de me sauver
0
pedro_drogba Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   894
 
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 23732 Date d'inscription   Statut Modérateur Dernière intervention   2 409
 
pourquoi poster ne double ???
;)
0