Avatar billede mik28 Seniormester
30. september 2005 - 17:18 Der er 19 kommentarer og
1 løsning

Felt som ved 4 tegn skal reloade side

Hej Eksperter,

Jeg har et felt med et postnummer, hvor jeg gerne vil have det til at virke sådan at når man har tastet det 4 tal så submitter den formen.

<input type="text" name="postnr" value="" size="20">
Avatar billede softspot Forsker
30. september 2005 - 18:04 #1
Det lyder som en irriterende feature, men du kan checke om længden er 4 på onkeyup


<input type="text" name="postnr" value="" size="20" onkeyup="if(this.value.length==4) this.form.submit()">


Denne korte form vil dog være noget træls at navigere rundt (hvis det overhovedet er muligt), da piletaster osv. også vil submitte formen hvis feltet allerede indeholder 4 tegn...
Avatar billede mik28 Seniormester
30. september 2005 - 18:10 #2
Hvorfor syntes du at det er irriterende?
Avatar billede mik28 Seniormester
30. september 2005 - 18:13 #3
Ideén er jo bare at man skriver postnummeret og så bliver det slået op
Avatar billede softspot Forsker
30. september 2005 - 18:15 #4
Fordi hvis jeg laver en fejlindtastning, så får jeg ikke nogen chance for at rette den inden min side er sendt afsted... :)

Men det afhænger jo helt af hvad den skal bruges til. Generelt set er det bare en "dårlig" idé at tage magten fra brugeren ved at gøre ting automatisk på den måde, men igen, det afhænger naturligvis af den konkrete anveldelse.
Avatar billede softspot Forsker
30. september 2005 - 18:16 #5
Ja, det er en rigtig fin idé at finde bynavnet til et givent postnr, men umiddelbart ville jeg vælge at gøre det på onblur eller endnu bedre, med javascript som ikke skal over på serveren for at hente data...
Avatar billede mik28 Seniormester
30. september 2005 - 18:19 #6
Jeg havde tænkt mig at fange en fejlindtastning i det script jeg bruger til at validerer data client side
Avatar billede mik28 Seniormester
30. september 2005 - 18:20 #7
Ideén var at man skulle kunne skrive alle de postnumre man har lyst til at få at vide hvor de hører til :-)
Avatar billede mik28 Seniormester
30. september 2005 - 18:21 #8
Jeg er meget enig i at man ikke skal tage magten fra brugeren
Avatar billede softspot Forsker
30. september 2005 - 18:22 #9
Du kunne i princippet lægge et array med postnr og bynavn i en ekstern js-fil og lave en funktion til at finde bynavnet ud fra postnr.

Det at array'et ligger i en ekstern js-fil, betyder at den kun skulle hentes ud på klienten første gang siden loades (så ville den ligge i browsercachen - om ikke andet et stykke tid), hvilket vil gøre din side hurtigere at loade de efterfølgende gange...

Eksempel (gæt selv hvilken del af landet jeg kommer :)):

var postnrtable = [
['6000','Kolding'],
['6600','Vejen'],
['7000','Fredericia'],
['7100','Vejle'],
['7120','Bredballe']
];

function findBynavn(postnr) {
  for(var i = 0; i < postnrtable.length; i++) {
    if(postnrtable[i][0] == postnr) return postnrtable[i][1];
  }
  return '';
}
Avatar billede mik28 Seniormester
30. september 2005 - 18:24 #10
Ja i princippet :-)
Avatar billede roenving Novice
02. oktober 2005 - 13:07 #11
-- og ole har engang fedtet med at optimere en kode, så den blev væsentligt reduceret og dermed fik en rimelig overførselstid: http://tjenester.dk/x-codes.dk/eksperten/postnumre/ !-)
Avatar billede roenving Novice
02. oktober 2005 - 13:08 #12
Hrm, han har jo lagt den ned, og den jeg har lokalt er oldgammel, hvor ole netop har lavet en opdateret version af databasen tidligere i år ,-(
Avatar billede mik28 Seniormester
03. oktober 2005 - 09:32 #13
Hvorfor kan jeg ikke gøre det her :-)

onkeyup="if(this.value.length==4) this.form.postnraendret.value='ja'; this.form.submit();"
Avatar billede softspot Forsker
03. oktober 2005 - 10:05 #14
Det kan du vel også godt, men det betyder bare at hvis brugeren trykker pil til højre eller venstre (blandt andre) i postnr-feltet, så poster den også siden...
Avatar billede mik28 Seniormester
03. oktober 2005 - 12:29 #15
Den postet bare jeg skriver et tegn i :-)
Avatar billede softspot Forsker
03. oktober 2005 - 14:27 #16
Det er vel kun hvis der er 4 tegn i feltet i forvejen, eller hvad?
Avatar billede olebole Juniormester
03. oktober 2005 - 16:57 #17
<ole>

roenving >> Mit eksempel kommer snart op igen på en ny adresse  :)

mik28 >> Hvad med alle de danskere, der kun har tre ciffre i deres postnummer?  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
03. oktober 2005 - 16:58 #18
- og hvad med danskere, bosidende i Malmö? Jeg har ikke checket, men de har nok et tredie antal ciffre i postnummeret
Avatar billede mik28 Seniormester
03. oktober 2005 - 17:06 #19
Jeg er gået helt væk fra at gøre det på den måde :-) Jeg laver en dropdownboks på baggrund af min postnummer tabel hvor værdierne så en sammensat af postnr +" "+by
Avatar billede mik28 Seniormester
08. oktober 2005 - 14:25 #20
Lukker igen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester