PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-04-2011 14:42:06

jad
Membre
Inscription : 08-04-2011
Messages : 18

Ajouter un select dans un formulaire

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

#2 08-04-2011 14:47:47

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

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

#3 08-04-2011 15:58:35

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : Ajouter un select dans un formulaire

il manque trop de chose pour donner un avis wink
met ton script wink

a++

Hors ligne

#4 08-04-2011 16:07:00

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

<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

#5 08-04-2011 16:13:16

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : Ajouter un select dans un formulaire

c'est quoi inputs.getElements('select').... ??
a++

Hors ligne

#6 08-04-2011 16:27:15

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

C'est pour changer le name du select

Hors ligne

#7 08-04-2011 16:47:12

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : Ajouter un select dans un formulaire

c'est pas la réponse que j'attendais wink
cette fonction n'est ^pas une foncrion de bas javascript ni un fonction jquery.
donc, tu l'as ecrit.
montre STP;)
a++

Hors ligne

#8 08-04-2011 16:54:26

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

Hors ligne

#9 08-04-2011 16:56:58

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

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

#10 08-04-2011 17:02:19

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : Ajouter un select dans un formulaire

une piste ici

a++

Hors ligne

#11 08-04-2011 17:07:02

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

Je n'utilise pas jQuery

Hors ligne

#12 08-04-2011 17:12:52

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : Ajouter un select dans un formulaire

alors, suis désolé hmm
conné pas mottols hmm
bon courage wink
a++

Hors ligne

#13 08-04-2011 17:16:20

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

Merci Pierrot

Hors ligne

#14 11-04-2011 08:06:43

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

D'autre aurait des solutions ?

Hors ligne

#15 11-04-2011 08:56:27

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 191

Re : Ajouter un select dans un formulaire

L'idéal serait d'aller faire un tour sur un forum mootools wink
a++

Hors ligne

#16 11-04-2011 16:06:00

jad
Membre
Inscription : 08-04-2011
Messages : 18

Re : Ajouter un select dans un formulaire

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 tongue
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

Pied de page des forums