IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Récupérer value d'une liste ul/li via un formulaire


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 87
    Par défaut Récupérer value d'une liste ul/li via un formulaire
    Bonjour,

    J'ai utilisé le tuto de khayyam90 pour créer une liste déroulante avec des images.
    Il est spécifié dessus ceci:
    "Si vous placez une telle liste déroulante dans un formulaire, sa valeur ne sera pas envoyée lors de la soumission du formulaire. Pour cela vous allez devoir créer un élément <input type="hidden"/> avec la valeur de l'élément sélectionné."

    Le souci est que je ne vois pas trop comment récupéré la valeur de li pour la mettre dans cet input type.
    J'aurais bien utilisé un "onChange()" mais je ne vois pas où le placer étant donné que c'est une liste dans un calque...

    Merci d'avance,

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 87
    Par défaut
    Bonjour,

    j'ai rajouté ce bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.forms["couleur"].elements["petit_test"].value = cell.attr("value");
    $("#affiche").html("<input type='hidden' name='petit_test2' value='" + cell.attr("value") + "'>");
    dans "function onSelect(){"

    Je récupère bien ma valeur si l'input type hidden "petit_test" existe déjà.
    Par contre, impossible de créer à la volée des input type (du moins pas avec le code ci dessus) dans le calque affiche.

    Etant donné que mes listes sont créées à la volée en fonction d'un nombre passé en paramètres, il me faut créer X input type...

    Je continue de tester et je reviens si j'ai besoin de vous

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 87
    Par défaut
    Re,

    Pour vous expliquer rapidement ce que fait le script:
    on arrive sur cette page en ayant préalablement choisi un nombre X de tableau (variable nb_tableau). Il faut choisir 2 couleurs par tableau. Le fait d'avoir ces listes déroulantes avec les couleurs dedans rendait le choix plus facile, puisque visible de suite

    bon alors voilà la solution que j'ai mise en place:

    sur la page avec le formulaire, je créé X liste en fonction de mon nombre de tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script type="text/javascript">
    	$(function(){
    		<?php
                    for ($i=1; $i<=$nb_tableau; $i++) {
                            echo '$("ul:eq(0)").imgDropDown({title:"Tableau_'.$i.'_Couleur_2"}); $("ul:eq(0)").imgDropDown({title:"Tableau_'.$i.'_Couleur_1"});
                    ';
                    }
                    ?>
    	});
    </script>
    que j'affiche de la meme façon via une boucle.

    je créé ensuite X champ hidden (multiplié par 2 car 2 couleurs par tableau)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
            for ($i=1; $i<=$nb_tableau; $i++) {
                    echo '<input type="hidden" name="Tableau_'.$i.'_Couleur_2" value="" />
                    <input type="hidden" name="Tableau_'.$i.'_Couleur_1" value="" />
                    ';
            }
    ?>
    J'ai rajouté le code suivant dans la function onSelect() du plugin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms["couleur"].elements[opts.title].value = cell.attr("value");
    Et enfin dans la page qui réceptionne le formulaire, je récupère mes valeurs de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i=1; $i<=$nb_tableau; $i++) {
    	$couleur[$i][1] = $_POST['Tableau_'.$i.'_Couleur_1'];
    	$couleur[$i][2] = $_POST['Tableau_'.$i.'_Couleur_2'];
    }
    Ca marche nickel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer une liste d'objets via DynaForm
    Par vinceLeBarbare dans le forum Struts 1
    Réponses: 2
    Dernier message: 14/10/2007, 23h09
  2. récupérer la valeur d'une liste à l'envoi d'un formulaire
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/01/2006, 10h49
  3. récupérer valeurs d'une liste déroulante
    Par karidrou dans le forum Access
    Réponses: 5
    Dernier message: 13/01/2006, 09h31
  4. Réponses: 10
    Dernier message: 30/01/2005, 20h53
  5. plusieurs value dans une liste deroulante
    Par lepierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/11/2004, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo