rafraichissement d'un sélect - PHP - Programmation
Marsh Posté le 16-02-2008 à 14:24:40
| fourniey a écrit : Bonjour,  | 
 
 
quand tu veux selectionner une valeur par defaut d'un select il faut utiliser l'atribut selected="selected" 
http://www.w3schools.com/html/tryi [...] ml_select3 
http://www.w3schools.com/html/html_forms.asp 
 
oupsss, j'avais pas vu que tu as eu l'idée de faire ceci. Tu as bien commencé mais tu t'es trompé dans la syntaxe. L'atribut selected="selected" est dans la balise option. <option select="selected">toto</option> 
 
 
| Citation : 2) Quand je fais un choix dans le premier sélect (type), je voudrais que le 2e sélect (an) soit mis à jour sans cliquer sur ok. | 
 
plusieurs possibilité pour faire ceci : 
- passer par de l'ajax 
Au moment ou tu selectionne ton premier select, tu appelles une fonction JS avec l'événement onChange  
- qui créé le 2ème select en DOM 
- qui fait un submit (rafraichissement de toute la page) 
Marsh Posté le 16-02-2008 à 14:53:54
J'ai changé le selected et j'obtiens une erreur. 
 
| Code : 
 | 
Marsh Posté le 16-02-2008 à 15:16:38
De cette façon, mon premier sélect est ok. 
 
   $selected=""; 
   if($type == $val["type"]) {$selected=" selected=\"selected\"";}  
   echo '<option value='.$val["type"].$selected.'>'.$val["description"].'</option>\n';
Marsh Posté le 17-02-2008 à 14:50:51
voila très bien en effet ... 
 
Apres, utilises l'évenement onChange sur ton 1er select : 
 
echo '<select name="type" onChange="fsubmit()" >'; 
 
et créé toi une fonction JS ou tu submit ton formulaire (par exemple) : 
| <script>  | 
Marsh Posté le 17-02-2008 à 15:20:16
je ne suis pas assez famillier pour faire cela. 
 
Je suis entrain d'étudier les listes déroulantes liées entre elles en ajax pour voir ce que je peux faire.
Marsh Posté le 17-02-2008 à 20:56:30
| fourniey a écrit : je ne suis pas assez famillier pour faire cela.  | 
 
 
Idéallement c'est bien sur de le faire en Ajax mais seulement dans un premier temps pour te simplifier la tache, il te suffit de submiter la page des qu'il y a un changement lorsque tu change ton premier select. 
 
Donc pour reprendre mon exemple, dans la fonction select, tu fais un truc du genre : 
 
| <script>  | 
 
 
et par contre il te faut bien nommer ton formulaire par "monformulaire" 
 
 
| <form name="monformulaire">  | 
Marsh Posté le 17-02-2008 à 21:00:52
Je suis tout mêlé et ça ne fonctionne pas vraiment. 
| Code : 
 | 
Marsh Posté le 17-02-2008 à 21:17:19
fourniey, tu n'as pas voulu m'ecouter et en faire qu'a ta tete ^^, je te conseillé de passer par une fonction javascript pour etre sur de la syntaxe et tu t'es planté  
 
 
echo '<select name="liste" onchange="this.form.submit();">'; 
 
à remplacer par : 
 
echo '<select name="liste" onChange="javascript:this.form.submit();" >'; 
 
J'ai trouvé ton erreur en faisant une recherche google sur l'expression : this.form.submit 
Regarde le 2ème lien comme exemple : 
http://www.google.fr/search?client [...] che+Google 
 
essaie cela. Maintenant les valeurs doivent etre envoyé lorsque tu fais un changement de ton premier select ...
Marsh Posté le 17-02-2008 à 21:22:52
Ben non, je ne connais pas le javascript. Pour ça, je l'évite. 
 
Le select de liste fonctionne très bien.
Marsh Posté le 17-02-2008 à 21:40:18
Au départ, j'ai essayé de le faire AJAX mais je n'y arrivais pas alors, j'ai essayé autre chose. 
 
cette ligne n'Est pas exécutée: <select size="1" name="type" OnChange="sendData('id='+this.value,'lire_an.php')" onKeyUp="sendData('id='+this.value,'lire_an.php')"> 
 
 
| Code : 
 | 
Marsh Posté le 16-02-2008 à 13:56:44
Bonjour,
J'ai deux sélect qui fonctionnent ensemble, c'est-à-dire que le 2e dépend du choix effectué au premier sélect. Ça fonctionne plus ou moins bien à date.
1) quand je clique sur ok, le premier sélect (type) se réinitialise; je voudrais conserver le choix de l'usager
2) Quand je fais un choix dans le premier sélect (type), je voudrais que le 2e sélect (an) soit mis à jour sans cliquer sur ok.
Voici le code des mes deux sélect.
Merci!