Probleme HTML et <select>

Fermé
Nicocotiers - 30 juin 2004 à 10:08
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 - 30 juin 2004 à 15:32
bonjour, mon probleme est un probleme d'actualisation avec la balise <select>.
en fait, dans ma liste déroulante crée avec le select, j'ai tous les noms de clients (170 en tout) et à chaque client j'ai associé un numéroclient. Je veux que dès que je choisis un nom dans la liste déroulante, le n°client s'affiche et si je change de nom , le n° s'actualise.

merci
A voir également:

34 réponses

Nicocotiers
30 juin 2004 à 10:47
faut faire une fonction javascript?
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 10:47
Salut,

Essaie ceci et dis-moi si ca marche :

<body>

<form name=myForm>
	<input name=showID size=40>
	<select name="test1" onchange="document.myForm.showID.value = this.value;">
		<option value="">Please Select One</option>
		<option value="1">Personne 1</option>
		<option value="2">Personne 2</option>
		<option value="3">Personne 3</option>
		<option value="4">Personne 4</option>
	</select>

</form>
</body>


Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
Nicocotiers
30 juin 2004 à 11:07
en fait je vais etre plus clair:


ma liste de noms de clients est lue à partir d'un répertoire (car c'est les noms des tables d'une base de donnée) et j'ai crée une table "facturation" avec cette liste + les n° clients
je dois donc récupérer les n° clients avec une requete SQL :
SELECT noclients FROM facturation WHERE refclient="+request.getParameter("nomclient") +";"
(je réalise une servlet)



pageReponseBuffer.append("<select name=\"nomclients\" size=\"1\" >\n");
File sofichain=new File("C:\\mysql\\data\\sofichain");
String []listefichiers=listerRepertoire(sofichain);
for(i=0;i<listefichiers.length;i++){
if(listefichiers[i].endsWith(".frm")==true){
pageReponseBuffer.append("<option value=" + listefichiers[i].substring(0,listefichiers[i].length()-6) + ">" +listefichiers[i].substring(0,listefichiers[i].length()-6) + "\n");

}//j'ai récupéré la liste du rép
}

pageReponseBuffer.append("</select>\n");







query = "SELECT noclients FROM facturation WHERE refclient="+request.getParameter("nomclient") +";";
pageReponseBuffer.append("<font size=3><b>client n° </b></font>\n");

String nomclient=request.getParameter("nomclients");
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 11:11
1. Je ne vois pas en quoi ce que tu rajoutes éclaircit quoi que ce soit
2. Je t'ai expliqué le principe, et il reste applicable.
3. Un merci n'aurait pas été de refus.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0

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

Posez votre question
Nicocotiers
30 juin 2004 à 11:19
merci grofwa, mais j'ai pas compris ton code car moi je dois executer une requete
alors je ne vois pas comment faire.
merci quand même
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 11:28
OK, je vais quand meme essayer de piger ce que tu veux faire.

Si j'ai bien compris, ton code, quand tu l'exécutes, il te crée du code HTML. Normalement, il génère même une liste de valeurs.

Le code que j'ai ajouté (la partie onchange=document.....) sert à mettre à jour le champ showID dans lequel tu veux voir s'afficher le numéro de client. Il te suffit donc dans ton code d'ajouter un champ et le "onchange" dans ta balise <select>

Ou alors j'ai rien pigé !!!!!

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
Nicocotiers
30 juin 2004 à 11:32
merci , je vais essayer ça
0
Nicocotiers
30 juin 2004 à 11:33
mais je dois choper mon numéro de client dans une base de données. ça marche aussi?
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 11:37
Ton numéro de client tu le mettras dans l'attribut value de la balise <option>. Essaie donc de construire pour chaque client une ligne comme ceci :
<option value='NUM_DE_CLIENT'>NOM_DU_CLIENT</option>

Du coup, quand l'événement onChange s'exécutera, il mettra la valeur de l'option (NUM_DE_CLIENT) dans le champ du formulaire.

Simple, no ?

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
Nicocotiers
30 juin 2004 à 11:40
ok merci; je teste
0
Nicocotiers
30 juin 2004 à 12:16
bon bah ça marche pas.
ça doit etre moi qui suis trop mauvais
désolé
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 13:26
Mets le source HTML que tu génères (view source dans ton browser), que j'y regarde si tu veux !

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
Nicocotiers
30 juin 2004 à 14:03
<html>
<head>
<title>Facturation SOFI</title>
<script language="JavaScript">
function submitMenu(formName) {
document.forms[formName].submit();}
</script></head>
<body background=MurdeSantaFe.bmp>
<table border=4 width=100% bordercolor="#000000" cellspacing=35 cellpadding=4>
<tr>
<td width=12% valign=top bgcolor="#FFFFFF" background=MurDeSantaFe.bmp>
<br><br>
<p><center><b><font size=5><u>Menu</u> : </font></b></center></p>
<form name="menuform1" action="/ConexFacturation/facturation" method="get">
<br><br><br>
<a href="javascript:submitMenu('menuform1');"><font color="#000099">Accueil</font></a>
</form>
</td>
<td align=center valign=top width=88%>
<p align="center"><b><font size=5><u> Bienvenue dans la FACTURATION SOFI </u></font></b></p>
<br>
<form name="form1" action="/ConexFacturation/facturation" target= _blank method="post">
<p><font size=3 color='blue'><b>Veuillez entrer l'intervalle de dates pour la facturation au format JJMMAA (exemple: pour le 1er fevrier 2004 il faut entrer: 010204)</b></font><p><font size=3><b>DATE du </b></font><input name="dateDu" type="text" size=4 maxlength=6>
<font size=3><b> au </b></font><input name="dateAu" type="text" size=4 maxlength=6></p>
<div>  </div><br><p><font size=3><b>Réf Client </b></font>
<input type="hidden" name"ShowId"value="showid"><select name="nomclients" size="1" onChange="this.form.ShowId.value=41100255">
<option value=acia>acia
<option value=acib>acib
<option value=acs>acs
<option value=acta>acta
<option value=afia>afia
<option value=afib>afib
<option value=afreta>afreta
<option value=airloa>airloa
<option value=airlob>airlob
<option value=airsea>airsea
<option value=ajint>ajint
<option value=alloa>alloa
<option value=allob>allob
<option value=alloc>alloc
<option value=allod>allod
<option value=alltra>alltra
<option value=alma>alma
<option value=asl>asl
<option value=assisa>assisa
<option value=auditr>auditr
<option value=bbaa>bbaa
<option value=bbab>bbab
<option value=bertoa>bertoa
<option value=bertob>bertob
<option value=bertoc>bertoc
<option value=berto>berto
<option value=bint>bint
<option value=biomet>biomet
<option value=bluetr>bluetr
<option value=caraib>caraib
<option value=cargo>cargo
<option value=catala>catala
<option value=chrono>chrono
<option value=ciba>ciba
<option value=clasqa>clasqa
<option value=clasqb>clasqb
<option value=clasqc>clasqc
<option value=clasqd>clasqd
<option value=clasqe>clasqe
<option value=clasqf>clasqf
<option value=clien>clien
<option value=coauto>coauto
<option value=cotra>cotra
<option value=cts>cts
<option value=dahera>dahera
<option value=daherb>daherb
<option value=daherc>daherc
<option value=daherd>daherd
<option value=dahere>dahere
<option value=daherf>daherf
<option value=daherg>daherg
<option value=daherh>daherh
<option value=daheri>daheri
<option value=daherj>daherj
<option value=delmaa>delmaa
<option value=demo>demo
<option value=dhlaa>dhlaa
<option value=dhlab>dhlab
<option value=dhlac>dhlac
<option value=dhlad>dhlad
<option value=dhlae>dhlae
<option value=dhlaf>dhlaf
<option value=dhlag>dhlag
<option value=dhlah>dhlah
<option value=dhlai>dhlai
<option value=dhlaj>dhlaj
<option value=dhlak>dhlak
<option value=dhlal>dhlal
<option value=dhlba>dhlba
<option value=dhlbb>dhlbb
<option value=dhlbc>dhlbc
<option value=dhlca>dhlca
<option value=dhlcb>dhlcb
<option value=dhlcc>dhlcc
<option value=dhlcd>dhlcd
<option value=dhlce>dhlce
<option value=dhlcf>dhlcf
<option value=dhlda>dhlda
<option value=dhldb>dhldb
<option value=dhlea>dhlea
<option value=dhlfa>dhlfa
<option value=dhlfb>dhlfb
<option value=dhlfc>dhlfc
<option value=dhlfd>dhlfd
<option value=dhlfe>dhlfe
<option value=dhlff>dhlff
<option value=dhlfg>dhlfg
<option value=dhlfh>dhlfh
<option value=dhlfi>dhlfi
<option value=dhlfj>dhlfj
<option value=dhlfk>dhlfk
<option value=dhlfl>dhlfl
<option value=dhlfm>dhlfm
<option value=dhlfn>dhlfn
<option value=dhlga>dhlga
<option value=dhlgb>dhlgb
<option value=dhlgc>dhlgc
<option value=diam>diam
<option value=dimota>dimota
<option value=dimotb>dimotb
<option value=dimotc>dimotc
<option value=dimotd>dimotd
<option value=dimote>dimote
<option value=dimotf>dimotf
<option value=dimotg>dimotg
<option value=dimoth>dimoth
<option value=dimoti>dimoti
<option value=dimotj>dimotj
<option value=dimotk>dimotk
<option value=dmsa>dmsa
<option value=dmsb>dmsb
<option value=dupnem>dupnem
<option value=dvlp>dvlp
<option value=edl>edl
<option value=egetra>egetra
<option value=egetrb>egetrb
<option value=egetrc>egetrc
<option value=eis>eis
<option value=embass>embass
<option value=etlaa>etlaa
<option value=etlab>etlab
<option value=etlac>etlac
<option value=etlad>etlad
<option value=etlae>etlae
<option value=etlaf>etlaf
<option value=eurodi>eurodi
<option value=eurofr>eurofr
<option value=euroli>euroli
<option value=exela>exela
<option value=facturati>facturati
<option value=fclog>fclog
<option value=ffd>ffd
<option value=form>form
<option value=galaxa>galaxa
<option value=galaxb>galaxb
<option value=galaxc>galaxc
<option value=galaxd>galaxd
<option value=geodaa>geodaa
<option value=geodab>geodab
<option value=geodac>geodac
<option value=geodad>geodad
<option value=geodae>geodae
<option value=geodaf>geodaf
<option value=geodag>geodag
<option value=geodah>geodah
<option value=geodai>geodai
<option value=geodaj>geodaj
<option value=geodak>geodak
<option value=geodal>geodal
<option value=geodam>geodam
<option value=geodan>geodan
<option value=geodao>geodao
<option value=geodap>geodap
<option value=geodaq>geodaq
<option value=geodar>geodar
<option value=geodas>geodas
<option value=geodat>geodat
<option value=geodau>geodau
<option value=geodav>geodav
<option value=geodaw>geodaw
<option value=geodax>geodax
<option value=geoday>geoday
<option value=geodaz>geodaz
<option value=geodba>geodba
<option value=geodbb>geodbb
<option value=geodbc>geodbc
<option value=geodbd>geodbd
<option value=geodbe>geodbe
<option value=geodbf>geodbf
<option value=geodbg>geodbg
<option value=geodbh>geodbh
<option value=geodbi>geodbi
<option value=geodbj>geodbj
<option value=geodbk>geodbk
<option value=geodbl>geodbl
<option value=geodbm>geodbm
<option value=gondaa>gondaa
<option value=gondab>gondab
<option value=gondac>gondac
<option value=gondad>gondad
<option value=gondae>gondae
<option value=gondaf>gondaf
<option value=gondag>gondag
<option value=gondah>gondah
<option value=gondai>gondai
<option value=gondaj>gondaj
<option value=gondak>gondak
<option value=gondal>gondal
<option value=gondam>gondam
<option value=gondan>gondan
<option value=gondao>gondao
<option value=gondap>gondap
<option value=gondaq>gondaq
<option value=gondar>gondar
<option value=gondas>gondas
<option value=gondat>gondat
<option value=gondau>gondau
<option value=gondav>gondav
<option value=gondaw>gondaw
<option value=gondax>gondax
<option value=gonday>gonday
<option value=gondaz>gondaz
<option value=gondba>gondba
<option value=gondbb>gondbb
<option value=gondbc>gondbc
<option value=gondbd>gondbd
<option value=gondbe>gondbe
<option value=gondbf>gondbf
<option value=gondbg>gondbg
<option value=gondbh>gondbh
<option value=gondbi>gondbi
<option value=gondbj>gondbj
<option value=gondbk>gondbk
<option value=gondbl>gondbl
<option value=gondbm>gondbm
<option value=gondbn>gondbn
<option value=gondbo>gondbo
<option value=gondbp>gondbp
<option value=gondbq>gondbq
<option value=gondbr>gondbr
<option value=gondbs>gondbs
<option value=gondbt>gondbt
<option value=gondbu>gondbu
<option value=gtlint>gtlint
<option value=guante>guante
<option value=haengg>haengg
<option value=hemmer>hemmer
<option value=hillea>hillea
<option value=hilleb>hilleb
<option value=hillec>hillec
<option value=huart>huart
<option value=isyslo>isyslo
<option value=itsa>itsa
<option value=itsb>itsb
<option value=jmulla>jmulla
<option value=jmullb>jmullb
<option value=jmullc>jmullc
<option value=kamino>kamino
<option value=kwea>kwea
<option value=kweb>kweb
<option value=kwec>kwec
<option value=kwed>kwed
<option value=lcia>lcia
<option value=lcib>lcib
<option value=lcic>lcic
<option value=ldma>ldma
<option value=ldmb>ldmb
<option value=linex>linex
<option value=logmat>logmat
<option value=luceli>luceli
<option value=maauto>maauto
<option value=maf>maf
<option value=matraa>matraa
<option value=medori>medori
<option value=megla>megla
<option value=meglb>meglb
<option value=meglc>meglc
<option value=megld>megld
<option value=megle>megle
<option value=meglf>meglf
<option value=meglg>meglg
<option value=meglh>meglh
<option value=megli>megli
<option value=meglj>meglj
<option value=meglk>meglk
<option value=megll>megll
<option value=meglm>meglm
<option value=milita>milita
<option value=militb>militb
<option value=militc>militc
<option value=militd>militd
<option value=milite>milite
<option value=monlog>monlog
<option value=morya>morya
<option value=moryb>moryb
<option value=moryc>moryc
<option value=moryd>moryd
<option value=morye>morye
<option value=moryf>moryf
<option value=moryg>moryg
<option value=moryh>moryh
<option value=moryi>moryi
<option value=moryj>moryj
<option value=moryk>moryk
<option value=moryl>moryl
<option value=morym>morym
<option value=moryn>moryn
<option value=moryo>moryo
<option value=mr>mr
<option value=mts>mts
<option value=natt>natt
<option value=nemotr>nemotr
<option value=ocetra>ocetra
<option value=ocs>ocs
<option value=oma>oma
<option value=otec>otec
<option value=pagtra>pagtra
<option value=pagtrb>pagtrb
<option value=pagtrc>pagtrc
<option value=partna>partna
<option value=partnb>partnb
<option value=perfor>perfor
<option value=pionee>pionee
<option value=qualia>qualia
<option value=qualib>qualib
<option value=qualic>qualic
<option value=qualid>qualid
<option value=qualie>qualie
<option value=regmar>regmar
<option value=reutra>reutra
<option value=reutrb>reutrb
<option value=reutrc>reutrc
<option value=rhenus>rhenus
<option value=ripcur>ripcur
<option value=roussa>roussa
<option value=roussb>roussb
<option value=safir>safir
<option value=samtr>samtr
<option value=satma>satma
<option value=sat>sat
<option value=seaina>seaina
<option value=seainb>seainb
<option value=seainc>seainc
<option value=seatra>seatra
<option value=septr>septr
<option value=sodipa>sodipa
<option value=sodiva>sodiva
<option value=sofrie>sofrie
<option value=sofrig>sofrig
<option value=somatb>somatb
<option value=somatc>somatc
<option value=somatd>somatd
<option value=somatr>somatr
<option value=somotr>somotr
<option value=sotraa>sotraa
<option value=sotrab>sotrab
<option value=sotrac>sotrac
<option value=sptt>sptt
<option value=stti>stti
<option value=synlog>synlog
<option value=tera>tera
<option value=test>test
<option value=tgfla>tgfla
<option value=tgflb>tgflb
<option value=tgflc>tgflc
<option value=trafia>trafia
<option value=trafib>trafib
<option value=trafic>trafic
<option value=trbena>trbena
<option value=trbenb>trbenb
<option value=trdese>trdese
<option value=trdom>trdom
<option value=trint>trint
<option value=trlog>trlog
<option value=trphoc>trphoc
<option value=trplus>trplus
<option value=trrepi>trrepi
<option value=ttm>ttm
<option value=ttrama>ttrama
<option value=ttramb>ttramb
<option value=ttra>ttra
<option value=ttrb>ttrb
<option value=utia>utia
<option value=utib>utib
<option value=utic>utic
<option value=utid>utid
<option value=utie>utie
<option value=vandea>vandea
<option value=vandeb>vandeb
<option value=vandec>vandec
<option value=verles>verles
<option value=vital>vital
<option value=vopaka>vopaka
<option value=vopakb>vopakb
<option value=vopakc>vopakc
<option value=watson>watson
<option value=wester>wester
<option value=wilsoa>wilsoa
<option value=wilsob>wilsob
<option value=wilsoc>wilsoc
<option value=wilsod>wilsod
<option value=wilsoe>wilsoe
<option value=yamato>yamato
</select>
<font size=3><b>client n° </b></font>
<input type="submit" name="Bouton" value="FACTURER le client">
<input type="hidden" name="DemandeID" value="Sofi-p1-valid">
</form>
</td>
</tr>
</table>
</body>
</html>
0
Nicocotiers
30 juin 2004 à 14:06
c'est peut etre parceque j'ai pas mis </option>
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 14:22
OK. alors voila :
1. ferme deja chacune des balises <option>
2. insère le numéro de client après le "value=" (à la place du nom), à moins que ce soit le numéro de client
3. change la value de ton <input name=showid> à -1 plutot que 'showid'
4. Remplace onChange="this.form.ShowId.value=41100255 par onChange="this.form.ShowId.value=this.value

Si tu essaies et que ça ne marche toujours pas, tu peux remettre le code HTML, mais avec juste deux ou trois <option>, sinon, ca va faire trop long !! :-)

Tiens-moi au courant.

Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
Nicocotiers
30 juin 2004 à 14:25
j'ai mis les </option>

mes numero de client sont dans une base de donnée "facturation" pour les insérer, je dois faire la correspondance avec le nom
mais le probleme est là .

merci michael
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 14:30
Et quel est le problème ? Sur base du nom, tu vas récupérer le numéro de client pour chaque ligne que tu traites et tu l'affiches au bon endroit.

Si je peux t'éclairer plus, donne-moi des détails supplémentaires.

M.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0
Nicocotiers
30 juin 2004 à 14:34
il faut que je fasse une requete?

comment l'executer pour l'afficher au bon endroit?
0
Nicocotiers
30 juin 2004 à 14:36
query = "SELECT noclients FROM facturation WHERE refsofi="+request.getParameter("nomclients") +";";


voilà ma requete mais ne fonctionne pas car ne reconnait pas le getparameter (reste à null)
merci
0
grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
30 juin 2004 à 14:40
Il faut effectivement faire une requête si tu veux aller chercher les données dans une base.
A quoi ressemblent les données dans la base ? Est-ce qu'il y a une clé ? Et à partir d'où vas-tu chercher les autres infos (tu as parlé de répertoire, ce sont des fichiers ? Un seul ? plusieurs ? Comment sont-ils formattés ?
Comment vas-tu faire le lien entre les deux types de données ? Est-ce que tu n'as pas toutes les infos dans une seule table, des fois ?
De ces réponse découlera l'endroit où tu mettras ta requête.

Michael.

Ne vous souciez pas de n'être pas remarqué ; cherchez 
plutôt à faire quelque chose de remarquable [Confucius]
0