19. september 2003 - 14:00
Der er
27 kommentarer og 1 løsning
Når postnr er indtast skal den selv skrive bynavnet.
et stykke af min kode ser indtil videre sådan ud: <FORM method="post" action="<%=Request.ServerVariables("URL")%>"> <TABLE border="0" cellpadding="0" cellspacing="0" width="580"> <TR> <TD width="108">Navn</TD> <TD width="468"><INPUT type="text" name="navn" size="50" value="<%=Request.Form("navn")%>"></TD> </TR> <TR> <TD width="108">Adresse</TD> <TD width="468"><INPUT type="text" name="adresse" size="50" value="<%=Request.Form("adresse")%>"></TD> </TR> <TR> <TD width="108">Postnr</TD> <TD width="468"><INPUT type="text" name="by" size="50" value="<%=Request.Form("postnr")%>" ID=Text1></TD> </TR> <TR> <TD width="108">By</TD> <TD width="468"><INPUT type="text" name="by" size="50" value="<%=Request.Form("postnr")%>" ID=Text1>></TD> </TR> <TR> <TD width="108">Kommune</TD> <TD width="468"><INPUT type="text" name="kommune" size="50" value="<%=Request.Form("kommune")%>" ></TD> </TR> <TR> <TD width="108">Telefon</TD> <TD width="468"><INPUT type="text" name="telefon" size="50" value="<%=Request.Form("telefon")%>"></TD> </TR> osv.. Ideen er at når man har tastet de 4 cifre i postnr bliver byen udfyldet og man hopper videre til næste felt. Altså man springer bynavnet over.
Annonceindlæg fra Computerworld
19. september 2003 - 14:04
#1
Så skal du have en tabel med alle postnumre og tilhørende bynavne!
19. september 2003 - 14:12
#2
Ja, den har jeg og SQL'en er heller ikke noget problem. Jeg bare ikke inde i ASP. Så det er mere opsætningen jeg har problemmer med.
19. september 2003 - 14:23
#3
Hvis du vil havde nogeg hvor by-navnet automatik udfyldes efter post nummer kan du se dette eksemple i spm:
http://www.eksperten.dk/spm/399759 Kommentar: eagleeye
12/09-2003 16:42:00
Den bruger javascript, til at fylde byen automatisk ud.
19. september 2003 - 14:23
#4
Du kan ikke umiddelbart få ASP til at indsætte datoen på den måde, da det kræver, at siden genindlæses.
19. september 2003 - 14:26
#5
Datoen = Bynavnet ! Hmm...
19. september 2003 - 14:31
#6
=> eagleeye I eksemplet lave du postnr til en drop-down boks, det er vel ikke nødvendigt. Kan man lave det som et felt hvor at når der er skrevet 4 tal trigger man javascriptet som udfylder det næste felt?
19. september 2003 - 14:31
#7
Eller er der et problem med at triggere et tekst-felt?
19. september 2003 - 14:33
#8
jeg havde overvejet noget med onChange=
19. september 2003 - 14:41
#9
Jeg kunne også forestille mig, at man ved onBlur af postnr.-feltet kaldte en skjult iframe, hvortil postnummeret sendes. Heri undersøges, om et bynavn matcher, hvorefter dette sendes til bynavn-feltet. Så undgår du at skulle indlæse en masse postnumre/bynavne, som javascript skal vælge i mellem.
19. september 2003 - 14:58
#10
netro => onBlur reagere den når man navigere væk fra feltet ?
19. september 2003 - 15:02
#11
ok, onBlur reagere når et objekt taber focus har jeg fundet udaf. Men kan man i onBlur kalde en funktion ? f.eks onBlur=hentpostnr(postnr)
19. september 2003 - 15:25
#12
Ja, det kan du - men det foregår stadig hos klienten. Dvs. du skal have noget javascript til at hente bynavnet (som eagleeye også er inde på).
19. september 2003 - 15:30
#13
Jeg prøver lige at lave et eksempel til dig.
19. september 2003 - 15:41
#14
19. september 2003 - 15:44
#15
Det ser jo smukt ud, kan man så gøre sådan at det ikke er muligt at ændre i by-feltet. Så vi helt undgår fejl.
19. september 2003 - 15:47
#16
Jeg er lige ved at redigere den. Et øjeblik...
19. september 2003 - 15:53
#17
Så er den klar...
19. september 2003 - 15:57
#18
hvordan ser din findby.asp ud?
19. september 2003 - 15:59
#19
Det kan jeg vise dig lige straks. Men prøv lige at se den igen. Jeg har lavet en mindre ændring.
19. september 2003 - 16:01
#20
Den var bedre før nu under søger den hver gang man skriver et tal.
19. september 2003 - 16:03
#21
iframe.location er det der markøren befinder sig ?
19. september 2003 - 16:03
#22
Ja, det er for at kunne rense feltet, hvis et postnr ikke er gyldigt.
19. september 2003 - 16:05
#23
findby.asp ======================== <html> <head> </head> <% If IsNumeric(CStr(Request.Querystring("postnr"))) Then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & ("d:\sti\db.mdb") Conn.Open DSN Set rs = Conn.Execute("Select Bynavn From Postnr Where Postnr = " & Request.Querystring("postnr")) If Not rs.EOF Then Response.Write "<body onLoad=""top.info.bynavn.value='" & rs("Bynavn") & "';"">" Else Response.Write "<body onLoad=""top.info.bynavn.value='';"">" End If Set rs = Nothing Conn.Close Set Conn = Nothing End If %> </body> </html>
19. september 2003 - 16:09
#24
Super, tak for hjælpen. Smid et svar.
19. september 2003 - 16:12
#25
Virker det, som du vil have det nu?
19. september 2003 - 16:18
#26
Jeg har ikke selv testet det, men udfra din kode burde jeg kan jeg nok kunne stykke det sammen. Jeg har desværre ikke mere tid idag, så min egen test må vente til imorgen.
19. september 2003 - 16:19
#27
Okay - men husk lige at kopiere kildekoden, så jeg ikke behøver at have filen liggende på serveren.
20. september 2003 - 09:41
#28
Det har jeg gjort. og for andre der ser sp. senere ser kilden således ud -> <html> <head> <title>Find bynavn</title> <script language="javascript"> <!-- function find() { iframe.location.href='findby.asp?postnr='+document.info.postnr.value; } //--> </script> </head> <body> <form name="info"> Postnr: <input type="text" name="postnr" onKeyUp="find();"><br> ' eller Postnr: <input type="text" name="postnr" onBlur="find();"><br> Bynavn: <input type="text" name="bynavn" readonly="readonly"> </form> <iframe name="iframe" src="about:blank" width="0" height="0"></iframe> </body> </html>
Kurser inden for grundlæggende programmering