Avatar billede d8tv Nybegynder
27. september 2000 - 09:42 Der er 10 kommentarer og
1 løsning

Validering af et inputfelt

V.h.a. funktionen IsNumeric skulle man kunne checke et inputfelt for om det er en numerisk værdi. Hvorledes gøres det nemmest i java script: Dette virker ikke helt:
if not IsNumeric(minform.felt.value)
    {
    window.alert(\"Indtast en numerisk værdi\");
    minform.felt.focus();
    return false;
    }
return true;
Måske kan funktionen ikke bruges i javascript?
Avatar billede lthrane Nybegynder
27. september 2000 - 09:50 #1
Prøv isNaN. Eks.:

  if(isNaN(vPrice)) {
    alert(\'Pris skal angives som et tal\');
  }

lthrane
Avatar billede jumper Nybegynder
27. september 2000 - 09:51 #2
For det første er ovenstående forkert syntaks, for det andet tjekker du om en streng er et nummer og for det tredje bruges isNaN i Javascript ;)

if (!isNaN(parseInt(minform.felt.value))){
  window.alert(\"Indtast en numerisk værdi\");
  minform.felt.focus();
  return false;
}
return true;

parseInt konverterer strengen til et tal, og isNaN tjekker om det ikke er NaN (Not a Number).

/Thor
Avatar billede jumper Nybegynder
27. september 2000 - 09:51 #3
Sorry, fjern det udråbs-tegn ;)

if (isNaN(parseInt(minform.felt.value))){


/Thor
Avatar billede d8tv Nybegynder
27. september 2000 - 09:58 #4
Hej Jumper
Tak for hjælpen - det virker fint - når udråbs-tegnet bliver fjernet.
super
Avatar billede jumper Nybegynder
27. september 2000 - 10:00 #5
Finno ;)

udråbs-tegnet er forresten not i Javascript.

/Thor
Avatar billede lthrane Nybegynder
27. september 2000 - 10:24 #6
>>jumper - forklar mig lige dine kommentarrer til mit indlæg

Hvis variablen vPrice indeholder værdien fra en forms input felt, f.eks. 1234.56 er isNaN(vPrice) vel ikke helt forkert, eller ?

Jeg skrev isNaN fordi manden SPØRGER om JavaScript !!!!! Du skriver endda selv isNaN.

lthrane
Avatar billede jumper Nybegynder
27. september 2000 - 10:28 #7
lthrane, mine kommentarer var til d8tv\'s egen kode (der var en blanding mellem VBScript og Javascript), ikke til din ;)

/Thor
Avatar billede lthrane Nybegynder
27. september 2000 - 10:29 #8
Fjong......
Avatar billede jumper Nybegynder
27. september 2000 - 10:30 #9
Men hvis du gerne vil have en kommentar, er det da iorden:

Hvis variablen vPrice indeholder værdien fra et form input felt, er vPrice en streng og ikke et tal. Denne streng skal først konverteres til et tal før du kan bruge isNaN til at undersøge dens værdi, ellers er det aldrig et tal.

/THor
Avatar billede lthrane Nybegynder
27. september 2000 - 10:42 #10
>>Thorr
Det overrasker mig - det du påstår her, for jeg har nemlig nedenstående eksempel som tilsyneladende virker.
Jeg har en form indeholdende et text input felt:
<input TYPE=\"Text\" NAME=\"Price\" VALUE=\"\" SIZE=\"30\">

Formens onSubmit kaldes en validerings funktion, som bla. tjekker den indtastede pris:

var vPrice = document.epeform.Price.value;
if(isNaN(vPrice)) {

 alert(\'Pris skal angives som et tal\');
  return false;

}


Hvis der i text feltet står noget indeholdende bogstaver gives en alert. Hvis der står tal (evt med 1 punktum) gives ingen alert.

lthrane
Avatar billede jumper Nybegynder
27. september 2000 - 10:55 #11
lthrane, i dit eksempel klarer Javascript selv konverteringen mellem de to datatyper streng og tal. Min kommentar gik mere på hvad der er \"rigtigt\" at gøre med hensyn til konvertering af datatyper ;)

/Thor
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