Salut a tous
Voila mon soucis du jour
J'ai un formulaire dans le quelle j'ajoute des selects en js et le problème est que une foi le formulaire validé je n'ai aucune de c'est nouvelles valeur de select dans le tableau $_POST['presta']
<table>
<form enctype="multipart/form-data" method="post" name="form_produit" id="form_produit">
...
<script>var pos=200;</script>
<tr><td colspan="2" align="center">Prestations <a href="javascript:;" onclick="pos++; ajouterPresta(pos);">[+]</a></td></tr>
<tr><td colspan="2" align="center"><?php
$prestataires = executquerry('select ...');
$j=1;
foreach($prestataires as $prestataire){ ?>
<table><tr><td>Prestation</td><td><?php echo selectPresta($prestataire['idPrestataires'],$j++); ?></td></tr>
<tr><td>Appartient à la période</td>
<td><input type="text" name="dates" value="<?php echo $prestataire['dates']; ?>" size="100" /></td></tr></table>
<?php } ?>
<table id="prestas" style="display:none;">
<tr><td>Prestation</td><td><?php echo selectPresta('','new'); ?></td></tr>
<tr><td>Appartient à la période</td>
<td><input type="text" name="dates" value="" size="100" /></td></tr></table>
</td></tr>
...
<tr><td colspan="2" align="center"><input type="submit" value="Ok" /></td></tr>
</form>
</table>
function selectPresta($selected,$pos=0){
$allprestataires = executquerry('select ...');
$select_name = 'presta['.$pos.']';
if($pos=='new'){ $select_name='prest[]'; }
$selectpresta = '<select name="'.$select_name.'">';
$selectpresta .= '<option value="">Faire un choix</option>';
foreach($allprestataires as $prestataire){
//echo $prestataire['idPrestataires'].'=='.$selected.'<br>';
$s = $prestataire['idPrestataires']==$selected?'selected="selected"':'';
$selectpresta .= '<option '.$s.' value="'.$prestataire['idPrestataires'].'">'.$prestataire['nom_presta'].'</option>'; }
$selectpresta .= '</select>';
return($selectpresta);
}
?>
<script>
function ajouterPresta(pos){
var inputs = $('prestas').clone().inject($('prestas'),'before').setStyle('display','');
inputs.getElements('select').each(function(el){ el.setAttribute('name','presta['+pos+']'); });
}
</script>