Bonjour,

Voilà mon soucis :
J'ai une page details.php ou je récupère des données d'une BDD.
J'ai rajouter dans cette page un select avec des options qui ne se trouve pas dans un formulaire.
Je souhaite récupérer la valeur de ce select et la transmettre et l'afficher dans une autre page.
Comment dois je procéder ?
Sachant que je suis limiter en javascript.
Et que j'ai essayé en php mais compliqué à mettre en place.

merci

13 réponses


Hello,

Je te conseille de suivre un peu le tutoriel sur Javascript car ca reste quelque chose d'assez basique à faire et je pense qu'avant que tu te lances dans une aventure il serait bien de l'apprivoiser.

Néanmoins, voici une aide : https://developer.mozilla.org/fr/docs/Web/API/Document/getElementById
https://developer.mozilla.org/fr/docs/Web/API/Document/getElementsByClassName

Salutations,

Zibeug

merci pour les infos je vais regarder ça

bonsoir,
j'ai suivis avec attention les explications. j'arrive à récupérer la valeur de mon select pas de soucis, quand je clique sur le lien pour ajouter au panier.
Maintenant que j'en suis là, comment puis envoyer la valeur dans mon autre page et l'afficher ?

merci

Salut, je pense que tu devrais regarder du coté du window.sessionStorage: ça te permet de stocker des variables pour une session. Tu peux ensuite en changeant de page, récupérer cette valeur stockée très facilement.

Super ça fonctionne !!! mais il y a toujours un mais voilà ce que j'ai réussi à faire :
Fichier details.php :

<div class="pointure">
                <h3>Pointure</h3>
                 <select name="pointure" id="pointure" >
                      <optgroup label="Pointure">
                      <?php foreach ($pointures as $pointure) : ?>
                          <option value="<?= $pointure['pointure']; ?>"><?= $pointure['pointure']; ?></option>
                        <?php endforeach;?>
                      </optgroup>
                      </select>
                </div>
                <div class="taille">
                    <h3>Taille</h3>
                      <select name="taille" id="taille" >
                      <optgroup label="Taille">
                        <?php foreach ($tailles as $taille) : ?>
                          <option value="<?= $taille['taille']; ?>"><?= $taille['taille']; ?></option>
                        <?php endforeach;?>
                      </optgroup>
                    </select>
                </div>

fichier panier.php :

<td class="text-center" style="font-size: 25px">
                        <script>
                        document.write("<p>" + localStorage.taille + "</p>");
                        document.write("<p>" + localStorage.pointure + "</p>");
                        </script>
                        </td>

et fichier app.js :

$('.addPanier').click(function(){

        var taille =  document.getElementById('taille').options[document.getElementById('taille').selectedIndex].value
       localStorage.setItem("taille",taille);

        var pointure =  document.getElementById('pointure').options[document.getElementById('pointure').selectedIndex].value
        localStorage.setItem("pointure",pointure);

  });

Maintenant que j'ai réussi grace à Pandazaur, j'aimerais savoir comment puis je si je selectionne une taille de ne pas afficher la pointure et inversement.
merci

Pour cela il faut que tu crées ta select en JS je pense. En utilisant document.createElement('select')

y a pas moyen de faire une condition if dans le fichier app.js ?

car dans le select si tu as vu, je récupère les données via une base de données

Je ne suis pas très à l'aise avec PHP mais je pense pas que tu puisses dynamiquement cacher une option si elle est sélectionnée car PHP s'exécute coté serveur, du coup tu ne peux pas vraiment faire de if dynamique. A part si a chaque fois qu'une option est sélectionée tu recharges toutes la page qui contient ta select, mais c'est pas super comme solution.

Je sais qu'en JS ça se fait, après il va te falloir de l'aide de la part de gens plus expérimenté en PHP si tu veux absolument le faire ne PHP

ok merci pour ton aide dis moi dans quel domaine es tu à l'aise ?

Plutot Javascript, PHP j'en ai fait qu'a l'école et en entreprise, je suis plus cofronté à lire du PHP qu'en écrire

comment tu vois la chose car là je t'avourais que je bloque complètement...

Hello,

Si j'ai bien compris, tu souhaites cacher un des deux select si l'autre est utilisé. (surprenant mais pourquoi pas)
Voilà comment je ferai :

  • ajouter une option vide à chacun des deux selects
  • capturer l'évènement onchange sur les deux selects
  • sur le select qui doit être caché : séléctionner la valeur nulle du select puis le cacher

Je crois que tu utilises jQuery alors je t'ai mis les lien de la documentation. Libre à toi de le faire en JS pur.