17. juni 2005 - 15:06Der er
27 kommentarer og 1 løsning
problkem med felt i form
Hej.
Jeg har en form hvor brugeren indtaster postnr. og så kommer bynavnet automatisik frem i feltet nedenunder. Jeg bruger følgende : <script type="text/JavaScript" src="dk_pns.js"></script> <script type="text/JavaScript"> function fillPn(f) { var inx = "p"+f.p.value; if (pn[inx]) { f.b.value = pn[inx]; } else { f.b.value = "Forkert postnummer"; f.p.select(); } } </script>
Problemet er at hvis man i postnr feltet bare klikker med musen uden at skrive noget så skriver den "Forkert postnummer" i bynavn feltet, og jeg kan ikke fjerne "Forkert postnummer" igen med mindre jeg skriver et godkendt postnummer. Men hvis man nu fortryder og ikke vil indtaste postnummer, så vil formen blive sendt videre med "Forkert postnummer". Jeg vil gerne have at "Forkert postnummer" kan fjernes inden formen sendes! Kan det ikke lade sig gøre eksperter :-)
For at undgå validering på intet postnr. På den måde har du en mulighed for at fortryde påbegyndt indtastning af postnr (eller blot at feltet fik fokus, f.eks. via klik med mus eller tabulering).
Jeg er klar over at det ikke har noget med din problemstilling at gøre, men er der nogen speciel årsag til at du skriver styles på den måde du gør? De skrives "normalt" i en style-attribut separeret med semikolon, altså noget á la: STYLE="height:17px; width:96px; font-size:9px"
Ikke fordi jeg skal blande mig mere end nødvendigt i hvordan du skriver din HTML, men jeg er bare nysgerrig for om der kunne være nogle situationer hvor din notation kunne være bedre :)
-- der indes ingen situationer, hvor notationen med flere style-attributter kan være bedre, der vil altid kun være den forskel, at det kræver mere båndbredde, men vi er nede på de små marginaler ...
-- og ellers skal der bare checkes for om der i virkeligheden er skrevet noget, som også du gør opmærksom på @17/06-2005 17:22:24!-)
<script type="text/JavaScript"> function fillPn(f) { if(f.p.value.length>0){ var inx = "p"+f.p.value; if (pn[inx]) { f.b.value = pn[inx]; } else { f.b.value = "Forkert postnummer"; f.p.select(); } } } </script>
Okay havde lige tid alligevel:-) Med din kode roenving, skriver den stadig "forkert postnummer" selvom jeg sletter det forkerte postnummer.. og feltet er tomt ??
okay jeg kan så godt skrive noget i de andre felter i formen, men vil gerne ha at "forkert postnummer" fjernes automatisk når jeg sletter det forkerte postnummer ..
Nej hvis jeg bruger mellemrumstasten og laver blanke tegn så skriver den også forkert postnummer, og jeg tænkte at man måske så kunne bruge noget lige som trim i php ??
det er dette jeg har nu : <script type="text/javascript"> function fillPn(f) { if(f.p.value.length>0){ var inx = "p"+f.p.value; if (pn[inx]) { f.b.value = pn[inx]; } else { f.b.value = "Forkert postnummer"; f.p.select(); } }else f.b.value = ""; } </script>
Jeg har stadig et problem her. Et sted virker det som det skal, men i en anden php fil er opbygningen lidt anderledes og der bliver "Forkert postnummer" sendt med videre hvis brugeren taster forkert. dvs det står i formen som kommer op ved fejltastning og det skal det ikke, der skal det være tomt, som det også er i det andet tilfælde . Koden er :
I den fil hvor det virker får man slet ikke lov at komme videre før der er indsat et rigtigt postnummer eller det forkerte er slettet ! Sådan skal det helst være i denne fil også..
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.