Griser désactiver une liste déroulante php

Fermé
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 - 27 avril 2011 à 17:34
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 - 3 mai 2011 à 14:57
Bonjour ,

je cherche à désactiver une liste déroulante. J'explique. J'ai deux listes déroulantes dont le premier sert à faire un choix : OK ou KO. ensuite, il y a une deuxième liste avec Détail. je veux que la deuxième liste ne soit active et que si la personne choisit KO mais que si la personne choisit OK que la deuxième soit griser

Comment faire cher ami. help me please


A voir également:

5 réponses

Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
Modifié par Doctor C le 27/04/2011 à 18:25
Tu pourrais faire tout ça en Javascript à mon avis étant donné que ce que tu cherches à faire se déroule entièrement du côté client.

Je suppose qu'en utilisant le onchange du select, tu pourrais désactiver l'autre liste selon l'élément sélectionné de la première liste.

<select onchange="toggleList();"> 
  <option>Milk</option> 
  <option>Coffee</option> 
  <option>Tea</option> 
</select>


Et ensuite tu n'aurais qu'à te définir une fonction toggleList() dans ton header (ou fichier javascript inclus dans ta page) qui activerais ta deuxième liste si l'option sélectionnée dans la première liste est KO et qui la désactiverais dans le cas contraire.

Bonne chance!

Echo "Lima Mike Alfa";
1
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
28 avril 2011 à 19:50
Ce que tu fais, c'est de rendre le select actif s'il ne l'est pas et de le rendre inactif s'il l'est. Ce que tu veux faire, c'est de le rendre actif si le choix du select b est KO, et inactif sinon.

Bon, je peux pas tester le code mais quelque chose comme ça devrait marcher:

function activList(){ 
  if(document.getElementById("b").value == KO) 
    document.getElementById('liste').disabled = false; 
  else 
    document.getElementById('liste').disabled = true; 
} 

Dans ce cas, si le choix dans le select b est KO, la liste sera active et si le choix n'est pas KO, la liste sera inactive.
1
Bonjour Doctor C,

Voici ma fonction :
<script type="text/javascript">
function activList(){
if(document.getElementById('liste').disabled == true) document.getElementById('liste').disabled = false;
else document.getElementById('liste').disabled = true;
}
</script>

<select id="liste" name="date" disabled="disabled">
<option value="" selected="selected"> </option>
<option value="test1">test1</option>
<option value="test2">test2</option>
</select>


<select id="b" name="b" onChange="activList();">
<option value="" selected="selected"> </option>
<option value="OK">OK</option>
<option value="KO">KO</option>
</select>

Par contre j'ai un beug, il marche pas systématiquement. une fois sur deux c'est le mauavais choix qui active la liste
0
bonjour,

Merci beaucoup pour votre aide. ça marche nickel
0
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
30 avril 2011 à 10:46
Rebonjour Doctor C,

Excuse moi de te relancer mais j'ai un petit souci parce qu'il semble que j'avais mal compris la demande qui m'a été faite. J'explique en fait 04 personnes ont accès à une interface et chacun à une option qui lui propre dans la liste Déroulante. L'idée et de choisir automatiquement l'option qui va avec le nom d'utilisateur et que la liste soit griser sans pour autant que l'utilisateur ne puisse avoir la main sur la liste sauf pour deux utilisateur qui doivent avoir la main sur toute la liste et choisir les options qu'ils veulent

Merci d'avance pour ton aide
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
3 mai 2011 à 02:45
Hmm, si tu veux qu'une option soit 'liée' à un utilisateur, tu pourrais te servir de l'id du tag 'option' de la manière suivante:

<select>
<option id='11'>Utilisateur 1 dont l'identifiant est 11</option>
<option id='22'>Utilisateur 2 dont l'identifiant est 22</option>
<option id='33'>Utilisateur 3 dont l'identifiant est 33</option>
<option id='44'>Utilisateur 4 dont l'identifiant est 44</option>
</select>

Avec des conditions comme: Si l'identifiant de l'utilisateur est un tel numéro, tu fais tel traitement.

C'est certain qu'à ce point-ci, si tu commences à gérer des profils utilisateurs, tu risques d'avoir à utiliser une base de donné avec du PHP (avec des sessions).

Ça dépend vraiment de la complexité que tu veux et de la sécurité que tu désires implémenter. Je sais pas si c'est un projet d'école où plus professionnel. Si tu veux de la vrai sécurité et un système décent, tu te dois d'ajouter du PHP à tout ça, faire une base de données avec les profils utilisateurs, mots de passe cryptés dans la base de données, des sessions PHP pour chaque utilisateur, etc.

Si tu veux juste faire un petit truc en Javascript pas sécuritaire du tout, tu peux simplement coder en dur chaque identifiant de chaque utilisateur dans ton select (comme l'exemple ci-haut), faire un champ en haut de ta page pour que l'utilisateur entre son identifiant et à partir de cette information, tu fais un truc sur le onchange du genre:

- Si document.getElementById("b").options[document.getElementById("b").selectedIndex].id = un identifiant X (par exemple 11), fais tel traitement.

Bon, je radote depuis déjà bien trop longtemps. C'est une piste!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
3 mai 2011 à 14:57
Merci Doctor C, vraiment t'as pas choisit ton pseudo au hasard :

les deux cas de ton explication m'intéresse et un exemple adapté à mon cas concernant le dernier point que t'as souligné me ferai du bien doctor.
(- Si document.getElementById("b").options[document.getElementById("b").selectedIndex].id = un identifiant X (par exemple 11), fais tel traitement. )

Moi je cherche à afficher une liste déroulante en fonction de l'utilisateur
;
par exemple si j'ai une première liste qui contient user1 et user2
comment faire que pour la liste contenant test1 et test2 ne s'affiche et quand je choisis user1 et que je puisse avoir une autre liste si je choisis user2
0