Bonjour,
J'ai créé une liste déroulante (jusque là tout va bien)
Je voudrais maintenant modifier ma page courante en fonction de l'élément sélectionné mais sans avoir de bouton submit
comment faire ?
merci
Version imprimable
Bonjour,
J'ai créé une liste déroulante (jusque là tout va bien)
Je voudrais maintenant modifier ma page courante en fonction de l'élément sélectionné mais sans avoir de bouton submit
comment faire ?
merci
avec l'option onchange dans ton select.
c'est du javascript, regarde la fonction onchange ou onselectionchange je sais plus
Edit : grilled ;o)
bon en fait je rame plus que ça :
g bien mon select
<select name="SelProd">
<?php $L->getListeProduits()?> --> me rajoute mes lignes
</select>
-)suis je obligée d'inclure tout ca dans un form ?
-) comment récupérer la valeur de la ligne ?
si g bien sui vi je doit modifier en
<select name="SelProd" onchange=toto()>
toto() étant une fonction javascript qui va me rappeler une fonction php ?
je ne doit pas lui passer en paramètre la valeur sélectionée ?
j'avoue, je débute :oops:
Poste sur le forum JavaScript ça sera plus pratique car c'est un problème JavaScript maintenant ;) Je crois que la syntaxe est bonne mais pour la récupération de valeur je sais plus comment on fait, je crois que tu dois mettre ça dans un FORM et récupérer la valeur avec document.nom_form.nom_select ou un truc dans le genre.
Essaye avec ca :
Et oui il faut l'inclure dans un form qui renvoie vers la page que tu utiliseCode:
1
2
3 <select name="SelProd" onchange='this.form.submit();'> <?php $L->getListeProduits()?> --> me rajoute mes lignes </select>
Le formulaire n'est pas indispensable, tout dépend de ton application,
voici un exemple sans.
Code:
1
2
3
4
5
6 <select name='truc' onchange='document.location.href="page.php?choix="+this.options[this.selectedIndex].value;'> <option value='abc'>abc</option> <option value='def'>def</option> <option value='ghi'>ghi</option> </select>
Pour faire du code HTML valide, les balises <form> </form> sont obligatoires.Citation:
Envoyé par marcha
essai ça . ça devrait t'aider à comprendre ;)
test_onChange.php
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <?php //affichage des paramétre en entrée echo "<pre>"; print_r($_POST); echo "</pre><hr/>"; //action en fonction de l'entrée if(isset ($_POST["monSelect"])) { switch ($_POST["monSelect"]) { case "v1" : { echo " action 1"; break; } case "v2" : { echo " action 2"; break; } case "v3" : { echo " action 3"; break; } default : { exit("pb"); } } } ?> <!-- le formulaire --> <form action="test_onChange.php" method="post" name="monForme"> <select name="monSelect" onChange="this.form.submit()"> <!-- onChange ne fonctionne que si la valeur selectionnée change vraiment donc on définie une valeur par défaut spécial --> <option value="" disabled selected>-- selectionner une valeur --</option> <option value="v1">n1</option> <option value="v2">n2</option> <option value="v3">n3</option> </select> <!-- si javascript est désactivé --> <input type="submit" value="si pas js"> </form>
voilà ou j'en suis et je craque
g l'impression que je n'interprete pas le js
g raté un truc mais je coince
merci a tous pour votre aideCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <html> <head> <script language="javascript"> <!-- function chgpage(formulaire) { alert'zz'; } //--> </script> <LINK href="./styles/xxx.css" rel="stylesheet" type="text/css"> </head> .............. Selectionner un produit : <FORM name='prod'> <select name="SelProd" on change="chgpage(this.value)"> <?php $L->getListeProduits()?> </select> </form>
alert('zz');
:D
Code:
1
2
3
4
5
6 <FORM action="ZZ.php" method="get" name="prod"> <select name="SelProd" onchange="submit()"> <option value="" disabled selected> selectionner un produit</option> <?php $L->getListeProduits()?> </select> </form>
En HTML strict ou pas, ou XHTML strict ou pas, ça passe au validateur sans la balise FORMCitation:
Envoyé par Fladnag