Liste déroulante et onChange [Résolu]

cs_sebalex 153 Messages postés vendredi 25 février 2005Date d'inscription 6 janvier 2017 Dernière intervention - 25 mai 2005 à 10:53 - Dernière réponse : ronflex38 16 Messages postés mardi 8 juin 2004Date d'inscription 25 mai 2005 Dernière intervention
- 25 mai 2005 à 22:04
Bonjour à tous,

J'ai dans le même formulaire un Select reprenant les données d'une BD ainsi que plusieurs Input Type Texte. Je souhaite que lorsque je sélectionne dans la liste (Select) l'un des éléments, toutes les données lui correspondant s'affichent dans les Input respectifs.

Quelqu'un peut-il m'aider ?

Merci


David
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
ronflex38 16 Messages postés mardi 8 juin 2004Date d'inscription 25 mai 2005 Dernière intervention - 25 mai 2005 à 12:50
3
Merci
Salut,



J'ai en tête une solution qui n'est pas trés "joli", elle consiste à
charger au démarage de la page dans un tableau en javascript les
données de ta BD, et une fois que tu changes le select, tu appeles une
fonction javascript qui va chercher dans ton tableau si il y a une
correpondance et renvoie la/les valeurs dans les champs input
corespondants.

Voilà pour la théorie, si tu veux un exemple pratique dis le moi.

Merci ronflex38 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de ronflex38
cs_sebalex 153 Messages postés vendredi 25 février 2005Date d'inscription 6 janvier 2017 Dernière intervention - 25 mai 2005 à 13:00
0
Merci
Merci pour ta réponse. Oui, en effet, je souhaite un exemple pratique. Peux-tu me l'envoyer


David
Commenter la réponse de cs_sebalex
ronflex38 16 Messages postés mardi 8 juin 2004Date d'inscription 25 mai 2005 Dernière intervention - 25 mai 2005 à 19:06
0
Merci
La requête vers la bd est en ASP car c'est ce que j'avais utilisé.

Normalement ca marche...

Bonne chance



<html>

<head>

<title>Document sans titre</title>

</head>

<script language="javascript" type="text/javascript">

// creation du tableau carac

carac=new Array;

<%

dbPath = Server.MapPath("mabase")

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _

& " DBQ=" & dbPath

k=0

// remplissage du tableau

SQL_filtre="SELECT * FROM matable"

Set RS = server.createobject("ADODB.Recordset")

RS.Open SQL_filtre,Conn , 3, 3

while not RS.eof

// Creation de la 2° dimension du tableau et remplissage

Response.Write("carac["& k &"]= new Array(5);")

Response.Write("carac["& k &"][0]=" & RS("champ0") & ";")

Response.Write("carac["& k &"][1]='" & RS("champ1") & "';")

Response.Write("carac["& k &"][2]='" & RS("champ2") & "';")

k=k+1

RS.MOVENEXT

wend

RS.close %>

k=<%response.write(k)%>

k=k-1;



function miseajour() {

for (i=0;i<=k;i++) {

if (document.form.case0.options[document.form.login.selectedIndex].value==carac[k][0]) {

document.form.case1.value=carac[k][1]

document.form.case2.value=carac[k][2]

//suite du traitement

}

}

</script>







<form method="post" name="form">

<%

' Construction de la liste déroulante

SQL="SELECT * FROM matable"

Set RS = server.createobject("ADODB.Recordset")

RS.Open SQL,Conn , 3, 3

%>

<select name="case0" onChange="miseajour()"> <!-- Validation sur changement -->

<option>Choississez</option>

<% while not RS1.eof %>

<option
value=<%=RS("champ0")%>><%=RS("champ0")%></option>

<% RS1.MOVENEXT

wend

RS1.close %>

</select>





</form>





</html>
Commenter la réponse de ronflex38
ronflex38 16 Messages postés mardi 8 juin 2004Date d'inscription 25 mai 2005 Dernière intervention - 25 mai 2005 à 19:08
0
Merci
J'ai posté le code un peu rapidement y'a juste une confusion vers la fin du code, il faut remplacer tous les RS1 par RS
Commenter la réponse de ronflex38
cs_sebalex 153 Messages postés vendredi 25 février 2005Date d'inscription 6 janvier 2017 Dernière intervention - 25 mai 2005 à 19:35
0
Merci
Merci encore, mais je crains que cela ne fonctionne car je travaille avec PHP. Peux-tu me confirmer que ça peut fonctionner ?

Meilleures salutations.


David
Commenter la réponse de cs_sebalex
ronflex38 16 Messages postés mardi 8 juin 2004Date d'inscription 25 mai 2005 Dernière intervention - 25 mai 2005 à 22:04
0
Merci
Ca fonctionne à condition que tu modifie le code asp en php, mais pour cela malheureusement je ne pourrai pas t'aider. Va éventuellement voir sur le site asp-php.net, ils font la correspondance ASP -> Php.
Bonne chance
Commenter la réponse de ronflex38

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.