Partage
  • Partager sur Facebook
  • Partager sur Twitter

Besoin d'aide pour sélection à choix multiple

19 janvier 2020 à 22:38:41

Bonsoir tout le monde et bonne année à tous, il est encore temps :p,

Je me suis lancé dans la création d'un site web en HTML/CSS/PHP (niveau débutant), je vous explique mes soucis :

- J'ai mis en place un select avec des options dynamiques, cependant, lorsque je clique sur mon bouton submit de mon formulaire si le select n'a pas été renseigné, c'est a dire que l'utilisateur laisse la valeur par défaut (en image) le required sert à rien, existe t-il un moyen de forcer le required sauf sur cette valeur ou de ne pas renseigner de valeur par défaut sur le select ?

le code :

                    <!-- Nom type de personne -->
                    <div class="form-group row">
                        <label for="person_type_id" class="col-6 col-sm-4 col-md-3" style="text-align: right;">Type de personne<sup>*</sup></label>
                        <div class="col-6 col-sm-8 col-md-9">
                            <select id="person_type_id" name="person_type_id" class="form-control">
                                <option value="">-- Sélectionner un type --</option>
                                <?php
                                    $query = $db->query("SELECT name, id from `person.type`");
                                    while ($personType = $query->fetch())
                                    { ?>
                                        <option value="<?php echo $personType['id']; ?>"><?php echo $personType['name']; ?></option>
                                    <?php }
                                ?>
                            </select>
                        </div>
                    </div>


- J'aimerais mettre en place une sorte de "select" à choix multiple, je m'explique, sur mon site je vais enregistrer des films dans lesquels jouent un ou plusieurs acteurs, mon but ultime, si possible meme avec du javascript serait d'avoir ça :

Or, je ne sais absolument pas comment le prendre si vous pouvez me donner des pistes ou si vous savez comment faire je suis preneur !! 

En vous remerciant d'avance :)

Ps: Je ne sais pas si je suis au bon endroit pour le sujet :o

  • Partager sur Facebook
  • Partager sur Twitter
20 janvier 2020 à 9:33:18

Bonjour, 

Il est possible de forcer un utilisateur à choisir une valeur pour ton champs de type Select. Mais l'idéal est d'utiliser le javascript dans ton cas puisque tu aimerais que l'utilisateur puisse au final choisir plusieurs valeurs afin de filtrer une recherche. 

En utilisant javascript, tu peux aussi éviter d'effectuer des rechargements de pages à chaque fois que l'utilisateur actionne un filtre. Ça donne une impression de fluidité à ton programme. 

Pour afficher le message d'erreur, si tu t'y connais un peu en javascript, il faut que tu récupère l'Id de ton champs "Select" grâce à 

document.getElementById("person_type_id");


afin de travailler sur ce champ.

Ensuite, soit tu affiches une boîte de dialogue grâce à la fonction 

alert("Veuillez choisir une valeur !");


lorsque l'utilisateur ne choisis pas de valeur (solution moche !...)
Où alors, tu crées en HTML une balise de type <div> ou <span> que tu affiches que si l'utilisateur ne choisit pas de valeur. Dans ce cas, en CSS, tu commences par mettre la propriété display: none; et en javascript, tu changes cette propriété en remplaçant le display: none; par display: block;

Si tu as des questions, n'hésites pas. Mais je te conseille vivement d'utiliser le JavaScript !

Pour ton second problème, je n'ai jamais eu besoin de faire ce que tu dois faire, mais je peux t'aider. A deux on est toujours plus fort :)

Cordialement

-
Edité par KévinH 20 janvier 2020 à 9:35:37

  • Partager sur Facebook
  • Partager sur Twitter
20 janvier 2020 à 9:33:58

Bonjour,

Autosuggest when blur input -> sur google

Avec un peu de jquery ça donne ça :

http://jsfiddle.net/trSdL/4/

https://stackoverflow.com/questions/22746493/get-the-selected-value-in-jquery-autocomplete-on-blur-function

Pour le premier soucis du required, je ne vois pas pourquoi définir un required si ce n'est pas obliger ? Si le champ est obliger tu met required, si il ne l'ai pas alors pas besoin ^^

-
Edité par Mehddii 20 janvier 2020 à 10:22:59

  • Partager sur Facebook
  • Partager sur Twitter

Postez votre code et vos msg d'erreurs - "ça marche pas" n'est pas un message d'erreur ...

20 janvier 2020 à 13:52:03

 Mehddii a écrit:

Bonjour,

Autosuggest when blur input -> sur google

Avec un peu de jquery ça donne ça :

http://jsfiddle.net/trSdL/4/

https://stackoverflow.com/questions/22746493/get-the-selected-value-in-jquery-autocomplete-on-blur-function

Pour le premier soucis du required, je ne vois pas pourquoi définir un required si ce n'est pas obliger ? Si le champ est obliger tu met required, si il ne l'ai pas alors pas besoin ^^

-
Edité par Mehddii il y a environ 3 heures

Salut, ce qui m'embete c'est que si je ne mets pas la première "<option value="">-- Sélectionner un type --</option>" la valeur par défaut sera le premier tuple de la bdd or je ne veux pas ça, je veux que mon utilisateur voit qu'il doit choisir quelque chose dans la liste déroulante du select mais que ce soit différent du "-- Selectionner un type--" quand il submit :

J'ai dans ma bdd les valeurs "Acteur", "Réalisateur" -> quand mon utilisateur va créer une personne, il va devoir dire si c'est un acteur ou un réalisateur, or avec mon modèle si je submit je vais avoir la value "" dans mon post pour "person_type_id" s'il ne sélectionne rien alors que le champ est required ...

Concrétement, si "-- Selectionner un type--" est sélectionné le champ doit être required=True sinon required=False

Tu vois ce que je veux dire ? :)

-
Edité par _Alexis_ 20 janvier 2020 à 13:53:45

  • Partager sur Facebook
  • Partager sur Twitter
20 janvier 2020 à 14:23:08

Toujours pas compris, si tu met un required dans ton select, alors si il choisit sélectionner un type, il t'affiche un message comme quoi le champ est requis, par contre si tu choisis une option parmi la liste, alors y'a plus de required puisque il a choisit une valeur, donc le formulaire peut être soumit .. Il est où le soucis ?

Exemple : https://codepen.io/MehdiX/pen/KKwrZPx?editors=1000

Si tu submit sur sélectionner un type, il est required, mais si tu choisis une valeur y'a plus de required ^^

-
Edité par Mehddii 20 janvier 2020 à 14:24:46

  • Partager sur Facebook
  • Partager sur Twitter

Postez votre code et vos msg d'erreurs - "ça marche pas" n'est pas un message d'erreur ...

20 janvier 2020 à 19:50:28

Mehddii a écrit:

Toujours pas compris, si tu met un required dans ton select, alors si il choisit sélectionner un type, il t'affiche un message comme quoi le champ est requis, par contre si tu choisis une option parmi la liste, alors y'a plus de required puisque il a choisit une valeur, donc le formulaire peut être soumit .. Il est où le soucis ?

Exemple : https://codepen.io/MehdiX/pen/KKwrZPx?editors=1000

Si tu submit sur sélectionner un type, il est required, mais si tu choisis une valeur y'a plus de required ^^

-
Edité par Mehddii il y a environ 5 heures


Puré je suis un idiot j'étais persuadé d'avoir mis le required .... en effet c'est le fonctionnement standard du coup ce problème est résolu .. :-° 

Maintenant le deuxième plus complexe d'apres ce que je comprends

-
Edité par _Alexis_ 20 janvier 2020 à 19:51:56

  • Partager sur Facebook
  • Partager sur Twitter
20 janvier 2020 à 20:00:33

Pas trop, mais si tu ne connais pas le javascript, je te conseillerais d'aller suivre un petit cours comme celui d'openclassrooms pour au moins disposer des base, comprendre un peu le fonctionnement du truc.

Ca devrait pas te prendre plus de 2 semaines à 3 semaines pour bien assimiler les bases.

Puis après tu pourrais aller récupérer des codes déjà tout fait sur le net, tu pourras lire le code, et du coup le modifier à ta guise.

Sinon y aller un peu plus bourrins et copier/coller le code ça marche aussi, mais faut pas trop s'enfoncer dans le code sinon y'a tout qui plante ^^

-
Edité par Mehddii 20 janvier 2020 à 20:02:24

  • Partager sur Facebook
  • Partager sur Twitter

Postez votre code et vos msg d'erreurs - "ça marche pas" n'est pas un message d'erreur ...