/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Form validator
Fra : Lars Grove Mortensen


Dato : 22-07-08 12:53

Hej alle på NG

Jeg bruger følgende form validator:

   var quant = theForm.KontraktNr.value
   if (isNaN(quant) == true || quant < 1 || quant > 9999999)
   {
      alert("Indtast venligst kontraktnummer.");
      theForm.KontraktNr.focus();
      return false;
   }


Men jeg vil gerne have én, der bare tjekker om det er numerisk -
og om der står en værdi... altså ikke noget med at værdien skal
være mellem et defineret max eller minimum - bare at der står en
tal værdi.

Håber der er nogen, der kan hjælpe?


På forhånd tak

MVH
Lars

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Lars Madsen (22-07-2008)
Kommentar
Fra : Lars Madsen


Dato : 22-07-08 13:06

Lars Grove Mortensen wrote:
> Hej alle på NG
>
> Jeg bruger følgende form validator:
>
>    var quant = theForm.KontraktNr.value
>    if (isNaN(quant) == true || quant < 1 || quant > 9999999)
>    {
>       alert("Indtast venligst kontraktnummer.");
>       theForm.KontraktNr.focus();
>       return false;
>    }
>
>
> Men jeg vil gerne have én, der bare tjekker om det er numerisk -
> og om der står en værdi... altså ikke noget med at værdien skal
> være mellem et defineret max eller minimum - bare at der står en
> tal værdi.
>
> Håber der er nogen, der kan hjælpe?
>
>

var pattern = /^\d+$/;
pattern.test(value)

burde kunne gøre det



> På forhånd tak
>
> MVH
> Lars
>


--

/daleif (remove RTFSIGNATURE from email address)

LaTeX FAQ: http://www.tex.ac.uk/faq
LaTeX book: http://www.imf.au.dk/system/latex/bog/ (in Danish)
Remember to post minimal examples, see URL below
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl
http://www.minimalbeispiel.de/mini-en.html

Lasse Reichstein Nie~ (23-07-2008)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 23-07-08 12:17

Lars Grove Mortensen <spam@grove-mortensen.dk> writes:

> Jeg bruger følgende form validator:
>
>    var quant = theForm.KontraktNr.value

Hvor kommer "theForm" fra? Er det formen der er givet med, eller
er det navnet på formen der bruges som variabel?

Efterfølgende bruger du "quant" som et tal, selvom den værdi du
aflæser her er en streng. Heldigvis medfører alle de tests du
bruger at operanderne laves om til tal, men det er sikrest at
gøre det på forhånd, så man ikke kommer til at lave en operation
der virker forskelligt på strenge og på tal.

Jeg anbefaler altid at bruge elements-collectionen:
var quant = Number(theForm.elements['KontraktNr'].value);
eller, hvis "theForm" er navnet på formen:
var quant = Number(document.forms['theForm'].elements['KontraktNr'].value)

>    if (isNaN(quant) == true || quant < 1 || quant > 9999999)

Her tjekker du om quant ikke kan laves om til et tal, eller om det kan
laves om til et tal der er mindre end 1, eller om det kan laves om til
et tal der er større end 9999999.

Det er denne linje der skal skrive som hvis du vil tjekke for noget andet.

Og, btw, så er det spild at skrive "isNaN(quant) == true". Det giver altid
det samme som bare "isNaN(quant)".

>    {
>       alert("Indtast venligst kontraktnummer.");
>       theForm.KontraktNr.focus();
>       return false;
>    }
>
>
> Men jeg vil gerne have én, der bare tjekker om det er numerisk -

Hvad mener du med "numerisk"? Kun cifre? Eller er "1e+6" også
acceptabel (som den er i ovenstående)?

Hvis du bare vil acceptere det samme som tidligere, men uden grænserne
på tallet, så ret if-sætningen til
if (isNaN(quant)) { //...

Altså bare fjern testene på værdien.

Jeg vover det gæt at du ikke kan hverken læse eller skrive Javascript.
Det er farligt at putte ting ind på sin side, som man ikke forstår. Det
gør det meget svært at rette eventuelle fejl.

/L
--
Lasse Reichstein Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste