Liste déroulante et onChange [Résolu]

Messages postés
153
Date d'inscription
vendredi 25 février 2005
Dernière intervention
6 janvier 2017
- - Dernière réponse : ronflex38
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Dernière intervention
25 mai 2005
- 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
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Dernière intervention
25 mai 2005
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de ronflex38
Messages postés
153
Date d'inscription
vendredi 25 février 2005
Dernière intervention
6 janvier 2017
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
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Dernière intervention
25 mai 2005
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
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Dernière intervention
25 mai 2005
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
Messages postés
153
Date d'inscription
vendredi 25 février 2005
Dernière intervention
6 janvier 2017
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
Messages postés
16
Date d'inscription
mardi 8 juin 2004
Dernière intervention
25 mai 2005
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.