2 LISTES LIÉES DYNAMIQUEMENT ENTRE ELLES, DONT LE CONTENU VIENT D UNE BDD
Essai
-
6 août 2001 à 17:24
sbouchaibi
Messages postés8Date d'inscriptionmardi 19 février 2008StatutMembreDernière intervention13 septembre 2013
-
13 sept. 2013 à 16:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
sbouchaibi
Messages postés8Date d'inscriptionmardi 19 février 2008StatutMembreDernière intervention13 septembre 2013 13 sept. 2013 à 16:50
Bonsoir,
Est ce que vous pouvez me dire comment récupérer les valeurs des deux listes ?
Je sais qu'on utilise : "request.form", par contre, je sais pas comment ?
Merci
cs_Hobby
Messages postés116Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention17 septembre 2008 1 sept. 2008 à 08:01
Re Bonjour,
Encore deux choses:
1) Lorsque vous faite un post et que comme moi vous géré les erreurs en asp (exmple: champs vide) lorsque la page est affiché il perd la sélection. J'ai résolut le probleme en sauvegardent la valeur de la liste (via request.form("listeA")) dans une variable et lors de la constuction de la liste je vérifie si le record courant est identique à la variable si oui, j'ajoute "selected='selected'" dans l'option, si non, c'est normal. De plus pour que la seconde liste ce rafraiché j'ai ajouté une variable booleen que je met à true lorsque je passe dans le 'oui' (voir plus haut). En fin de javascript j'ai ajouté: <% If blnListA = True Then response.Write("changeliste();") %> pour le forcé a rafraichir cette liste. Comme j'ai aussi une varible ou j'ai sauvegardé la valeur par le request.form(listeB) je peux assi retrouvé la valeur qui était sélectionné avant le post.
2) Petite correction cela fonctionne en IE7.
Merci
Olivier
cs_Hobby
Messages postés116Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention17 septembre 2008 1 sept. 2008 à 05:23
Je confirme le fonctionnement en mode 3 listes.
Juste qu'il faut aussi ajouté dans cette partie:
function changeliste() {
choix=document.monform.listeA.value;
document.monform.listeB.outerHTML=liste[choix];
}
ceci: changelisteb(); (juste a vant le } )
C'est logique sinon la troisièmme liste n'est pas refraichis lorsque l'on chanhe la 1er.
Merci
Olivier
Ps: la source 'original' fonctionne en IE6.
cs_zoume
Messages postés6Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention23 mai 2006 7 juin 2006 à 10:50
bonjour,
j'ai testé ce bout de code sous IE et mozilla.
la deuxieme liste déroulante ne se remplie pas :(
cs_Escob
Messages postés14Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 juin 2008 10 avril 2006 à 15:40
petite modif pour que ca fonctionne sous IE et netscape
1. <form name="monform" action="<%=URL%>" method=post>
2.
3. Catégorie :
4. <select name="listeA" size="1" onChange="changeliste()">
5.
6. <option value="0">---</option>
7. <%set liste=ConnectionBD.execute("select * from categorie")
8. while not liste.eof
9. response.write("<OPTION VALUE="&liste("id_categorie")&">"&liste("intitule")&"</option>")
10. liste.movenext
11. wend%>
12. </select>
13.
20.
21. <script>
22. <!--
23. var liste=new Array()
24. liste[0]="<OPTION VALUE=0>---</OPTION>";
25. <%liste.movefirst
26. while not liste.eof
temp2="<select name='listeB'>"
27. temp=""
28. set prestation=ConnectionBD.execute("select * from prestation where id_categorie="&liste("id_categorie"))
29. while not prestation.eof
30. temp=temp&"<OPTION VALUE="&prestation("id_prestation")&">"&prestation("designation")&"</option>"
31. prestation.movenext
32. wend
33. temp3="</select>"%>
34. liste[<%=liste("id_categorie")%>]="<%=temp%>";
35. <%
36. liste.movenext
37. wend
38. %>
39.
40. function changeliste() {
41. choix=document.monform.listeA.value;
if (navigator.appName=='Netscape') {
document.monform.listeB.innerHTML=liste[choix];
}
else{
42. document.monform.listeB.outerHTML="<%=temp2%>"+liste[choix]+"<%=temp3%>";
43. }
44. //-->
45. </script>
cs_karimking
Messages postés1Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention 7 janvier 2005 7 janv. 2005 à 15:56
J'utilise également IE 6.0 et ça ne marche pas !
Les valeurs sont chargé dans la premiére liste, la construction de la deusiéme liste est réussi dans le code mais n'actualise pas le contenu lorsque la séléction change dans la premiére liste !
cs_jcharles
Messages postés21Date d'inscriptionmardi 29 janvier 2002StatutMembreDernière intervention23 juin 2004 25 juin 2003 à 10:44
bonjour moi je rencontre une erreur:
'document.monform.listeA.value' à la valeur Null ou n'est pas un objet
quelqu'un sait il pq merci
P.S j'utilise internet explorer 6.0
cs_MrNet
Messages postés1Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention22 mai 2003 22 mai 2003 à 13:22
Pour 3 Listes :
Creer une Nouvelle Liste : ListeC
copier/coller le script après lui-même, puis sur la copie changer :
Pour les variables javascript
(liste,ListeA,ListeB) par (liste2,ListeB,ListeC)
Changer le nom de la fonction changeliste par changelisteb
Pour les variables ASp :
(temp,liste,Prestation) par (temp2,Prestation,NouvelleReq)
--->Mettre en accord le nom des champs !!!
Dans le premier script changer :
temp="<select name='listeB'>" par temp="<select name='listeB' onchange='changelisteb()' >"
Grosso modo c'est les grandes lignes , chez moi ca marche ...
cs_onha
Messages postés27Date d'inscriptionmercredi 26 décembre 2001StatutMembreDernière intervention 4 mars 2019 16 mai 2003 à 10:17
Moi par contre j'ai un petit problème il ne veut pas actualisé la deuxième liste.
cs_Lelion
Messages postés3Date d'inscriptionmardi 7 janvier 2003StatutMembreDernière intervention 7 janvier 2003 7 janv. 2003 à 11:15
merci pour ce scripte je le cherche déjas
j'espère que je serai utils pour vous une autres fois
cs_Ray
Messages postés1Date d'inscriptionmercredi 1 août 2001StatutMembreDernière intervention24 juillet 2002 24 juil. 2002 à 12:42
c est marrant je repasse 1 an plus tard et je vois que mon script intéresse tjrs des gens ca fait plaisir.
Pour la troisieme liste, c est possible mais je crains que ca devienne tres lourd.
pi0up51
Messages postés103Date d'inscriptionvendredi 13 juillet 2001StatutMembreDernière intervention26 août 2003 16 juin 2002 à 18:03
même chose en php ?
cs_PoUpA
Messages postés2Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention27 avril 2002 27 avril 2002 à 01:11
Magnifique :) j'téais justement en train d'en faire un mais le tien me parais mieux :) tu sauve mon travail de certificat :) plus qu'a le mettre en Jscript et c'est tt bon :) merci
13 sept. 2013 à 16:50
Est ce que vous pouvez me dire comment récupérer les valeurs des deux listes ?
Je sais qu'on utilise : "request.form", par contre, je sais pas comment ?
Merci
1 sept. 2008 à 08:01
Encore deux choses:
1) Lorsque vous faite un post et que comme moi vous géré les erreurs en asp (exmple: champs vide) lorsque la page est affiché il perd la sélection. J'ai résolut le probleme en sauvegardent la valeur de la liste (via request.form("listeA")) dans une variable et lors de la constuction de la liste je vérifie si le record courant est identique à la variable si oui, j'ajoute "selected='selected'" dans l'option, si non, c'est normal. De plus pour que la seconde liste ce rafraiché j'ai ajouté une variable booleen que je met à true lorsque je passe dans le 'oui' (voir plus haut). En fin de javascript j'ai ajouté: <% If blnListA = True Then response.Write("changeliste();") %> pour le forcé a rafraichir cette liste. Comme j'ai aussi une varible ou j'ai sauvegardé la valeur par le request.form(listeB) je peux assi retrouvé la valeur qui était sélectionné avant le post.
2) Petite correction cela fonctionne en IE7.
Merci
Olivier
1 sept. 2008 à 05:23
Juste qu'il faut aussi ajouté dans cette partie:
function changeliste() {
choix=document.monform.listeA.value;
document.monform.listeB.outerHTML=liste[choix];
}
ceci: changelisteb(); (juste a vant le } )
C'est logique sinon la troisièmme liste n'est pas refraichis lorsque l'on chanhe la 1er.
Merci
Olivier
Ps: la source 'original' fonctionne en IE6.
7 juin 2006 à 10:50
j'ai testé ce bout de code sous IE et mozilla.
la deuxieme liste déroulante ne se remplie pas :(
10 avril 2006 à 15:40
1. <form name="monform" action="<%=URL%>" method=post>
2.
3. Catégorie :
4. <select name="listeA" size="1" onChange="changeliste()">
5.
6. <option value="0">---</option>
7. <%set liste=ConnectionBD.execute("select * from categorie")
8. while not liste.eof
9. response.write("<OPTION VALUE="&liste("id_categorie")&">"&liste("intitule")&"</option>")
10. liste.movenext
11. wend%>
12. </select>
13.
14. Prestation :
15. <select name="listeB" size="1">
16. <!--<option value="">---</option>-->
17. </select>
18.
19.
20.
21. <script>
22. <!--
23. var liste=new Array()
24. liste[0]="<OPTION VALUE=0>---</OPTION>";
25. <%liste.movefirst
26. while not liste.eof
temp2="<select name='listeB'>"
27. temp=""
28. set prestation=ConnectionBD.execute("select * from prestation where id_categorie="&liste("id_categorie"))
29. while not prestation.eof
30. temp=temp&"<OPTION VALUE="&prestation("id_prestation")&">"&prestation("designation")&"</option>"
31. prestation.movenext
32. wend
33. temp3="</select>"%>
34. liste[<%=liste("id_categorie")%>]="<%=temp%>";
35. <%
36. liste.movenext
37. wend
38. %>
39.
40. function changeliste() {
41. choix=document.monform.listeA.value;
if (navigator.appName=='Netscape') {
document.monform.listeB.innerHTML=liste[choix];
}
else{
42. document.monform.listeB.outerHTML="<%=temp2%>"+liste[choix]+"<%=temp3%>";
43. }
44. //-->
45. </script>
7 janv. 2005 à 15:56
Les valeurs sont chargé dans la premiére liste, la construction de la deusiéme liste est réussi dans le code mais n'actualise pas le contenu lorsque la séléction change dans la premiére liste !
25 juin 2003 à 10:44
'document.monform.listeA.value' à la valeur Null ou n'est pas un objet
quelqu'un sait il pq merci
P.S j'utilise internet explorer 6.0
22 mai 2003 à 13:22
Creer une Nouvelle Liste : ListeC
copier/coller le script après lui-même, puis sur la copie changer :
Pour les variables javascript
(liste,ListeA,ListeB) par (liste2,ListeB,ListeC)
Changer le nom de la fonction changeliste par changelisteb
Pour les variables ASp :
(temp,liste,Prestation) par (temp2,Prestation,NouvelleReq)
--->Mettre en accord le nom des champs !!!
Dans le premier script changer :
temp="<select name='listeB'>" par temp="<select name='listeB' onchange='changelisteb()' >"
Grosso modo c'est les grandes lignes , chez moi ca marche ...
16 mai 2003 à 10:17
7 janv. 2003 à 11:15
j'espère que je serai utils pour vous une autres fois
24 juil. 2002 à 12:42
Pour la troisieme liste, c est possible mais je crains que ca devienne tres lourd.
16 juin 2002 à 18:03
27 avril 2002 à 01:11
25 oct. 2001 à 16:39
9 oct. 2001 à 10:29
de la seconde ?
14 août 2001 à 14:15
j ai du adapter un script trouvé sur un autre site...
si quelqu un voit l erreur, ca m'intéresse !
6 août 2001 à 17:24
dans la fonction changeliste()
choix =null avec netscape...