Avatar billede kcdk Juniormester
03. maj 2003 - 23:21 Der er 37 kommentarer og
1 løsning

Validerign for positivt tal

Det er efterhånden en del år siden jeg sidst legede med javascript. Derfor har jeg brug for jeres hjælp.

Jeg har følgende

if(isNaN(document.priserform.voksenlav.value))         {
alert('Du skal udfylde feltet med et tal!');
    document.forms[0].voksenlav.focus();
    error = 1;
        }
if(error == 0)
  document.forms[0].submit();   
  }

Nu vil jeg også gerne have den til at tjekke om taller er mindre end nul, da det ikek skal være muligt at indtaste negative tal.

Derfor ahr jeg brug for hjælp
Avatar billede roenving Novice
03. maj 2003 - 23:24 #1
if(isNaN(document.priserform.voksenlav.value) || (document.priserform.voksenlav.value < 1))        {
alert('Du skal udfylde feltet med et (positivt) tal!');
    document.forms[0].voksenlav.focus();
    error = 1;
        }
if(error == 0)
  document.forms[0].submit();   
  }

-- jeg regnede heller ikke med at du ville have tal mellem 0 og 1 ...
Avatar billede kcdk Juniormester
03. maj 2003 - 23:26 #2
Tusind tak. Gør det lige til et svar så du kan få dine velfortjente point.
Avatar billede roenving Novice
03. maj 2003 - 23:28 #3
Oki

Du har vel checket ...

mvh
jes
Avatar billede kcdk Juniormester
03. maj 2003 - 23:28 #4
Ahh det løser ikke helt mit problem. Det må GERNE være nul. Jeg har prøvet =< og <=, men det virker ikke synes jeg.
Avatar billede grunken Nybegynder
03. maj 2003 - 23:29 #5
og lidt mere sexet :)

var f = document.forms[0].voksenlav

if(isNaN(f.value) || f.value=<0){
alert('Du skal udfylde feltet med et positivt tal!');
  f.focus();
  error = 1;
}
if(error == 0)
  document.forms[0].submit();   
}
Avatar billede grunken Nybegynder
03. maj 2003 - 23:29 #6
var f = document.forms[0].voksenlav

if(isNaN(f.value) || f.value<0){
alert('Du skal udfylde feltet med et positivt tal!');
  f.focus();
  error = 1;
}
if(error == 0)
  document.forms[0].submit();   
}
Avatar billede roenving Novice
03. maj 2003 - 23:31 #7
enten som grunken skriver: <=0 (udelukker også 0) eller bare ændre et-tallet til 0 (0 må godt forekomme)
Avatar billede kcdk Juniormester
03. maj 2003 - 23:32 #8
roenving>> Ja det fandt jeg lige ud af. Egentlig underligt. Her er dine point.

grunken>> Tak for krudtet, men havde lovet roenving point.
Avatar billede roenving Novice
03. maj 2003 - 23:32 #9
-- i øvrigt har grunken ret i, at det er mere sexet: man kommer kun til at ændre eet sted, *når* man en dag skal ændre feltnavnet eller skal genbruge koden et andet sted!
Avatar billede roenving Novice
03. maj 2003 - 23:33 #10
Takker for points ;~}
Avatar billede kcdk Juniormester
03. maj 2003 - 23:33 #11
Okay, det vil sige at jeg kan bruge det med fordel da jeg har 100 felte der skal valideres. Men kan ikke helt se logikken. Kan godt se logikken i variablen, men hvordan jeg bruger den på forskellige felter ved jeg ikke.
Avatar billede grunken Nybegynder
03. maj 2003 - 23:37 #12
er de felter i samme form ?
Avatar billede kcdk Juniormester
03. maj 2003 - 23:38 #13
ja og de ligger i et asp dokument, mens selve javascriptten ligger i en js fil.
Avatar billede grunken Nybegynder
03. maj 2003 - 23:39 #14
okay, det ser altså sårn ud ?

<form>
<input>*100
</form>
Avatar billede roenving Novice
03. maj 2003 - 23:39 #15
Uha, grunken, tænken du på at lave et monster-array?
Avatar billede roenving Novice
03. maj 2003 - 23:41 #16
Eller tænker du på at iterere gennem alle inputs;

så skal vi lige vide:

kcdk, skal alle dine inputs valideres på samme måde?
Avatar billede grunken Nybegynder
03. maj 2003 - 23:41 #17
niks...

men jeg er gået lidt i selvsving med den homepage jeg er ved at lave, så kan jeg jo lige så godt underholde mig i mens ;D (what sort of underholdning, måske man skulle gå ud og drikke bajer i stedet ;))
Avatar billede kcdk Juniormester
03. maj 2003 - 23:43 #18
Ja, sådan cirka *100. Hvertfald mange.
Avatar billede kcdk Juniormester
03. maj 2003 - 23:43 #19
Nej Grunken. Nu ikke nogen bajer :-) Arbejde Arbejde :-)
Avatar billede kcdk Juniormester
03. maj 2003 - 23:43 #20
roenving, Ja på den side skal de.
Avatar billede kcdk Juniormester
03. maj 2003 - 23:45 #21
Jeg ahr lige opdaget at hvis jeg skriver 4,3 så mener den ikke det er et tal. Hvordan klarer jeg den?
Avatar billede roenving Novice
03. maj 2003 - 23:47 #22
Fordi javascript er på engelsk, så du erstatte , med .
Avatar billede kcdk Juniormester
03. maj 2003 - 23:48 #23
Men så vil min db ikke godtage den. (Ikek noget at sige til at jeg bliver gråhåret.
Avatar billede roenving Novice
03. maj 2003 - 23:48 #24
En RegExp klarer det i en håndevending -- den slags vendinger kan jeg slet ikke huske ...
Avatar billede roenving Novice
03. maj 2003 - 23:49 #25
Frem og tilbage er da en god sport ... (nå ja, det er jo lidt sent *g*)
Avatar billede roenving Novice
04. maj 2003 - 00:08 #26
Men valideringen af alle felter på formen:

function valider(priserform) { //jeg laver det som FORM-reference (nemmest)
  for (i=0; i<priserform.elements.length; i++) {
    if priserform.elements[i].type == 'input' {
      temp = priserform.elements[i].value;
      komma = temp.indexOf(",");
      if (komma >= 1) {// der er IKKE taget højde for at 1. tegn kan være komma
        temp = temp.substring(0, komma-1) & "." & temp.substring(komma + 1);
      }

      if (isNaN(temp) || temp < 0) {
        alert('Du skal udfylde feltet med et positivt tal!');
        priserform.elements[i].focus();
        error = 1;
        return false;
      }
    }
  }
  return true;
}

og så kalder du den med:

<form name="priserform" action="POST" onSubmit="valider(this)">

-- ganske vist lige hakket ind direkte, så der kan være pudsninger, men prøv!

hth
jes
Avatar billede grunken Nybegynder
04. maj 2003 - 00:08 #27
LOL, i har rigtigt under holde mig mens jeg daffede på kiosken for at hente lidt forsyning!

kcdk>

sådan her klarer du flere felter på een gang ;D (nu er det roenving's tur til at gøre den mere sekset :)

<script>
function muko(){
var str = 'fejl i følgende felter:\n\n';

for (i=0;i<document.forms[0].length;i++){
if(isNaN(document.forms[0][i].value) || (document.forms[0][i].value<0)){
  str +=i+'\n';}}
alert(str);
}

</script>
Avatar billede grunken Nybegynder
04. maj 2003 - 00:10 #28
Den skal jeg sku lige prøve kæft roenving du er jo sej ;D
Avatar billede roenving Novice
04. maj 2003 - 00:12 #29
Hov, den første fejl:

<form name="priserform" action="POST" onSubmit="return valider(this)">
Avatar billede grunken Nybegynder
04. maj 2003 - 00:13 #30
funker fint ;D
Avatar billede grunken Nybegynder
04. maj 2003 - 00:15 #31
hvor tit får man så meget for 30 points

btw roenwing

kan du godt li alerts ?, håber ikke der er fejl i 100 felter *G*
Avatar billede grunken Nybegynder
04. maj 2003 - 00:15 #32
stave kan jeg heller IK
Avatar billede roenving Novice
04. maj 2003 - 00:16 #33
Derfor kom return false med!
Avatar billede roenving Novice
04. maj 2003 - 00:17 #34
Man skal jo alligevel rette dem, som der er fejl i, men du har da ret -- spørgsmålet er så, om man er bedst hjulpet ved at blive ført ned i hvert enkelt eller selv at skulle finde dem -- også et problem med 100 felter!
Avatar billede grunken Nybegynder
04. maj 2003 - 00:19 #35
vi har glemt en vigtig ting ;D tomme felter :)
Avatar billede roenving Novice
04. maj 2003 - 00:26 #36
Jeg havde det i hovedet som isNaN fangede den, men jeg kan ikke finde noget i referencen, som også går ud fra, at man har lavet en parseX på det, så hvis vi lige:

    if (temp == "" || isNaN(parseFloat(temp)) || temp < 0) {

så har den også checket det!

,-)
Avatar billede grunken Nybegynder
04. maj 2003 - 00:38 #37
det samme her troede oss isNaN fangede den ;D

nå men lad os blive enig om at nu er den på sit højeste ;D

nå kcdk tror ik at du får mere for den 25øre ;)

men nu har du valgmuligheder :)

<script>
function muko(){
var error = 0;
var str = 'fejl i følgende felter:\n\n';

for (i=0;i<document.forms[0].length;i++){
f = document.forms[0][i]
if(parseFloat(f.value) || (f.value.length<1) || (f.value<0)){
  str +=i+'\n';
  error +=1}}
if (error>0){
  alert(str);}
}
</script>

Over AND out
Avatar billede grunken Nybegynder
04. maj 2003 - 00:43 #38
LOL, se lige bort fra den sidste, sade lige og legede lidt *G*
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