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 tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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