21. marts 2004 - 23:10
Der er
14 kommentarer og 1 løsning
validering af form - er input et tal ?
Jeg har dette script til validering, men mangler at kontroller et felt kaldet 'vaegt' det skal være et tal flere brugerer skriver f.eks. 500g En alert('Vægten skal angives i kg') vil være på sin plads :-) scriptet: <script type="text/javascript"> function validering() { error = 0; if((document.forms[0].varenavn.value=='') && (error==0)) { alert('Du skal udfylde feltet: VareNavn '); document.forms[0].varenavn.focus(); error = 1; } if((document.forms[0].VareBeskrivelse.value=='') && (error==0)) { alert('Du skal udfylde feltet: VareBeskrivelse '); document.forms[0].VareBeskrivelse.focus(); error = 1; } if((document.forms[0].kobspris.value=='') && (error==0)) { alert('Du skal udfylde feltet: Købspris '); document.forms[0].kobspris.focus(); error = 1; } if((document.forms[0].salgspris.value=='') && (error==0)) { alert('Du skal udfylde feltet: Salgspris '); document.forms[0].salgspris.focus(); error = 1; } if(error == 0) document.forms[0].submit(); } </script>
Annonceindlæg fra Jysk IT
Sikkerhed skal være en del af driften
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
21. marts 2004 - 23:19
#1
tænker du på: if (!document.forms[0].vaegt.match(/[0-9]+kg/i)) { alert("Du skal skrive en vægt i kg"); document.forms[0].vaegt.focus(); error = 1; }
21. marts 2004 - 23:22
#2
og det skulle selvfølgelig være: if (!document.forms[0].vaegt.value.match(/[0-9]+kg/i)) { hvis du kun vil have tal skal du bare slette kg så der står: if (!document.forms[0].vaegt.match(/[0-9]+/i)) {
21. marts 2004 - 23:23
#3
Tjah hvad får du, og hvad vil du acceptere ?-)
21. marts 2004 - 23:23
#4
>>ulrik -- hvorfor bruger du ikke \d i stedet for [0-9] ?-)
21. marts 2004 - 23:25
#5
roenving (eller jes ;-) >> for sjov :-) - eller faktisk fordi jeg ikke lige kunne huske om det var \d eller \D og gad ikke slå det op... så det blev bare [0-9] ;-)
21. marts 2004 - 23:38
#6
Okay !-) De store bogstaver i regExps er normalt negeringer, så: (val.match(/^\d+$/))?true:false giver samme svar som (!val.match(/\D/g))?true:false
21. marts 2004 - 23:46
#7
okay - det var lige det jeg ikke kunne huske. Tak for tippet :-)
22. marts 2004 - 00:36
#8
jeg vil kun accepterer tal ;-) også decimal.. der strår kg efter feltet således: <input type=text name=vaegt> kg
22. marts 2004 - 00:46
#9
Decimal i engelsk/amerikansk notation eller dansk/kontinental ?-) Lav kaldet sådan: <form ... onsubmit="return validering(this)"> -- og så scriptet sådan: <script type="text/javascript"> function validering(f){ if(f.varenavn.value==''){ alert('Du skal udfylde feltet: VareNavn '); f.varenavn.focus(); return false; } if(f.VareBeskrivelse.value==''){ alert('Du skal udfylde feltet: VareBeskrivelse '); f.VareBeskrivelse.focus(); return false; } if(f.kobspris.value=='')){ alert('Du skal udfylde feltet: Købspris '); f.kobspris.focus(); return false; } if(f.salgspris.value==''){ alert('Du skal udfylde feltet: Salgspris '); f.salgspris.focus(); return false; } if(!f.vaegt.value.match(/^\d+([\.\,]\d+)?$/)){ alert('Du skal udfylde feltet: Vægt '); f.vaegt.focus(); return false; } return true; </script>
22. marts 2004 - 00:59
#10
Jeg har prøvet med dit forslag, men siden bliver udført med fejl på side og den gule 3-kant nede i venstre hjørne :-(
22. marts 2004 - 01:00
#11
Uff ... } if(!f.vaegt.value.match(/^\d+([\.\,]\d+)?$/)){ alert('Du skal udfylde feltet: Vægt '); f.vaegt.focus(); return false; } return true; } </script>
22. marts 2004 - 01:01
#12
-- der manglede en } til sidst !-|
22. marts 2004 - 10:10
#13
Tusind tak for hjælpen, men prøv at se denne linie. if(f.kobspris.value=='')){ Det tog mig en krig som begynder at finde den ;-) Du skal gi' mig et svar hvis du vil have points
22. marts 2004 - 21:35
#14
Ja, der havde jeg klippet mig igennem for hurtigt ... -- ellers velbekomme '-)
28. marts 2004 - 19:56
#15
-- og tak for points ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling