Vous n'êtes pas identifié(e).
Pages :: 1
Salut a tous voila mon soucis
J'ai un formulaire dans le quelle j'ajoute des selects en js
inputs = $('prestas').clone().inject($('prestas'),'before').setStyle('display','');
inputs.getElements('select').each(function(el){ el.setAttribute('name','presta['+pos+']'); });
// bien entendu pos s'incrémente a chaque nouvel ajout
<table id="prestas" style="display:none;">
<tr><td>Prestation</td><td><select name="new_prest"><option value="val1">val1</option>...</select></td></tr>
<tr><td>Appartient à la période</td>
<td><input type="text" name="dates" value="" size="100" /></td></tr></table>
</td></tr>
Merci pour votre aide :-)
Hors ligne
Desolé
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']
Hors ligne
il manque trop de chose pour donner un avis
met ton script
a++
Hors ligne
<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>
Hors ligne
c'est quoi inputs.getElements('select').... ??
a++
Hors ligne
C'est pour changer le name du select
Hors ligne
c'est pas la réponse que j'attendais
cette fonction n'est ^pas une foncrion de bas javascript ni un fonction jquery.
donc, tu l'as ecrit.
montre STP;)
a++
Hors ligne
C'est une fct mootools : http://www.6ma.fr/tuto/mootools+jours+j … cteurs-459
Hors ligne
Le pire c'est que ca marche sous IE.
Je suis trop fort tt le monde fait de truc qui marche partout sauf ss IE et moi c'est le contraire :-)
Par contre j'aimerai bien comprendre ?
Hors ligne
Je n'utilise pas jQuery
Hors ligne
alors, suis désolé
conné pas mottols
bon courage
a++
Hors ligne
Merci Pierrot
Hors ligne
D'autre aurait des solutions ?
Hors ligne
L'idéal serait d'aller faire un tour sur un forum mootools
a++
Hors ligne
Je tiens ma solution,
merci Xa,
c'est un probleme html :
le formulaire est à l'intérieur du tableau,
il doit enfaite englober le tableau
Donc on doit avoir <form ...><table ...>...</table></form>, et pas <table ...><form ...>...</form></table>
Dernière modification par jad (11-04-2011 16:06:59)
Hors ligne
Pages :: 1