Avatar billede mmark Nybegynder
02. maj 2007 - 13:24 Der er 22 kommentarer og
1 løsning

Validering af tal

Hej,

Jeg søger et svript som kan sikre, at man ikke kan taste værdier under 30 ind i en form. Altså at der kommer en pop-up og advarer.

Hvem kan hjælpe?
Avatar billede roenving Novice
02. maj 2007 - 13:28 #1
<input ... onchange="if(this.value!=this.defaultValue&&+this.value<30)alert('Du skal angive et tal over 30 !-)');">

!-)
Avatar billede thesurfer Nybegynder
02. maj 2007 - 13:29 #2
roenving> Skal this.value ikke parses til int eller float?
Avatar billede michael_stim Ekspert
02. maj 2007 - 13:32 #3
Tror nok en vis Hr Roenving har sagt til mig engang at det er det "+"-tegnet gör.
Avatar billede thesurfer Nybegynder
02. maj 2007 - 13:40 #4
Ahh.. det lille "+" havde jeg overset.. :-)
Avatar billede roenving Novice
02. maj 2007 - 13:43 #5
*lol*

-- og egentlig bør man vel også teste om det overhovedet er et tal, men lad os nu høre/se mmarks kommentar !-)
Avatar billede mmark Nybegynder
02. maj 2007 - 14:47 #6
Hvordan får jeg det ind i denne:
<input type=text name=\"bredde\" value=\"$bredde\" class=\"greenborder\" size=5>
Avatar billede roenving Novice
02. maj 2007 - 14:51 #7
Kopier den ind i ?-)

-- du skal selvfølgelig huske at escape gåseøjnene, men ellers er det bare at tage onchange-tingen !-)
Avatar billede mmark Nybegynder
02. maj 2007 - 14:53 #8
<input type=text name=\"bredde\" value=\"$bredde\" class=\"greenborder\" size=5 onchange="if(this.value!=this.defaultValue&&+this.value<30)alert('Du skal angive et tal over 30 !-)');">

Er det korrekt?
Avatar billede roenving Novice
02. maj 2007 - 15:00 #9
Hvis du skal escape gåseøjne andre steder, skal det også gøres om script-koden:

<input type=\"text\" name=\"bredde\" value=\"$bredde\" class=\"greenborder\" size=\"5\" onchange=\"if(this.value!=this.defaultValue&&+this.value<30)alert('Du skal angive et tal over 30 !-)');\">
Avatar billede mmark Nybegynder
02. maj 2007 - 21:48 #10
roenving > Det ser ud til at virke, hvis man taster hele tal ind. Men hvis man eks. taster 5,7, så kommer alerten ikke frem?!
Avatar billede roenving Novice
02. maj 2007 - 23:25 #11
5,7 er ikke et tal i javascript, for der er komma ikke en decimal-separator, men det er ikke noget problem at ændre på det, men kan du ikke fortælle, hvad du skal bruge det til, så vi har en chance for at matche dit behov ?-)
Avatar billede mmark Nybegynder
03. maj 2007 - 08:16 #12
Jeg bruger det til en bestillingsformular, hvor der kan indtastes i cm med en decimal. Minimum er dog 30cm. Da jeg også bruger decimaler, er det vigtigt, at de også er med i formlen.
Avatar billede roenving Novice
03. maj 2007 - 13:23 #13
F.eks.

<input type=\"text\" name=\"bredde\" value=\"$bredde\" class=\"greenborder\" size=\"5\" onchange=\"if(this.value!=this.defaultValue&&+this.value.replace(/,/,".")<=30.0)alert('Du skal angive et tal over 30 !-)');\">
Avatar billede mmark Nybegynder
03. maj 2007 - 15:56 #14
Det virker ikke, hverken med et heltal eller med kommetal.?
Avatar billede roenving Novice
03. maj 2007 - 16:03 #15
Hrm, det må vist kaldes en tavetosse:

<input type=\"text\" name=\"bredde\" value=\"$bredde\" class=\"greenborder\" size=\"5\" onchange=\"if(this.value!=this.defaultValue&&+this.value.replace(/,/,'.')<=30.0)alert('Du skal angive et tal over 30 !-)');\">
Avatar billede thesurfer Nybegynder
03. maj 2007 - 19:15 #16
Hmm... "Minimum er dog 30cm" (03/05-2007 08:16:48).. Det får mig til at tro, at 30 (og/eller 30.0) også skal være tilladt.. :-)

Hvis det tillades, skal det bare være: <30.0
Avatar billede roenving Novice
04. maj 2007 - 06:16 #17
Øeh ...

<= vel ?-)
Avatar billede thesurfer Nybegynder
04. maj 2007 - 11:47 #18
Huh?

Hvis 30 er tilladt, og man indtaster 30, skal den vel ikke sige "Du skal angiv et tal over 30" ?

Det må betyde:

< svarer til "-floatmax... til 29.9999999..."
= svarer til "30.0"
> svarer til "30.00000000...1 til floatmax"

Og det må igen betyde, at det skal være "<30" ?

Eller wa?
Avatar billede roenving Novice
05. maj 2007 - 05:20 #19
*gg*
Avatar billede mmark Nybegynder
05. maj 2007 - 10:36 #20
Funktionen virker slet ikke. Den første er ok, men den version som skulle tage højde for komma virker ikke?!
Avatar billede mmark Nybegynder
05. maj 2007 - 10:40 #21
Min fejl, det virker!
Roenving, smid et svar,så kan du få point!
Avatar billede roenving Novice
05. maj 2007 - 14:59 #22
Velbekomme '-)
Avatar billede roenving Novice
06. maj 2007 - 05:28 #23
-- og tak for point ;~}
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