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!