Je viens à vous car j'ai un petit soucis...
J'ai cette page qui permet d'ajouter (cloner) des champs. Je l'ai trouvé sur Internet cela fonctionne très bien :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formulaire multichamp</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(".supprimerArticle").hide();
$(".ajoutArticle").click(function (){
var form = $(this).closest('form');
var articleList = form.find('.article');
// Le nombre d'articles déjà présents
var n = articleList.length;
// Le premier article que l'on va cloner
var firstArticle = $(articleList[0]);
// Le dernier article de la liste
var lastArticle = $(articleList[n-1]);
// Un article cloné
var clonedArticle = firstArticle.clone();
// Pour chaque input clonés
clonedArticle.find(':input').each(function() {
// On vide la valeur
$(this)
.filter(':text').val('').end()
// On change le nom en ajoutant le numero
$(this).attr('name', $(this).attr('name')+n)
})
// On l'ajoute au dom après les autres
clonedArticle.insertAfter(lastArticle).hide().fadeIn('slow');
// On ajoute le le lien de suppression
$(".supprimerArticle").fadeIn("fast");
});
$(".supprimerArticle").click(function (){
var article = $(".article:last");
article.remove();
// S'il y a moins de 2 articles (autrement dit un seul) on cache le bouton supprimer.
if ( $(".article").length < 2 ) { $(".supprimerArticle").fadeOut("fast"); }
});
});
</script>
</head>
<body>
<form method="post" action="result.php">
<input type="text" name="pseudo" />
<div class="article"><br /><br />
<table width="230" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Produit</td>
<td><select name="produit[]">
<option value="1">Orange</option>
<option value="2">Pomme</option>
<option value="3">Tomates</option>
<option value="4">Ananas</option>
<option value="5">Prune</option>
</select></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Quantité</td>
<td><input type="text" name="qtt[]" class="titre"/></td>
</tr>
</table>
<br />
</div>
<div id="ajoutSupprimerArticle">
<a href="javascript:;" title="Ajouter un article" class="ajoutArticle" rel="article">Cloner</a>
<a href="javascript:;" title="Supprimer un article" class="supprimerArticle" rel="article">Décloner</a>
</div>
<input type="submit" name="test" value="Envoyer" />
</form>
</body>
</html>
J'arrive à ajouter autant de "paires" de champs que je veux mais je n'arrive pas à récupérer les valeurs "paires"Exemple :
3 tomates (id =3) Donc : 3 => 3
10 prunes (id=5) Donc 10 => 5
J'ai essayé :
foreach($_POST['produit'] as $key => $val)
{
echo($_POST['produit'][$key]);
// Ou bien :
echo " Valeur : ".($val)."<br />";
}
Cela ne fonctionne pas.Et d'autres trouvés sur Internet... mais rien
Auriez vous une idée ?
Merci de votre aide
Julien