Liste déroulante et onChange

Résolu
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017 - 25 mai 2005 à 10:53
ronflex38 Messages postés 16 Date d'inscription mardi 8 juin 2004 Statut Membre 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

6 réponses

ronflex38 Messages postés 16 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 25 mai 2005
25 mai 2005 à 12:50
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.
3
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
25 mai 2005 à 13:00
Merci pour ta réponse. Oui, en effet, je souhaite un exemple pratique. Peux-tu me l'envoyer


David
0
ronflex38 Messages postés 16 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 25 mai 2005
25 mai 2005 à 19:06
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>
0
ronflex38 Messages postés 16 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 25 mai 2005
25 mai 2005 à 19:08
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sebalex Messages postés 150 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 6 janvier 2017
25 mai 2005 à 19:35
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
0
ronflex38 Messages postés 16 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 25 mai 2005
25 mai 2005 à 22:04
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
0
Rejoignez-nous