01. januar 2004 - 23:56
Der er
9 kommentarer og 1 løsning
validering af form
Er der nogen der har et bud på en validering af denne form: <form method="POST" action="edit.asp?id=<%=request("id")%>"> <table border="0" width="300" style="font-size: 12px;"> <tr> <td>SN:</td> <td><input type="text" name="sn" size="20"></td> </tr> <tr> <td>Sted:</td> <td><input type="text" name="sted" size="20"></td> </tr> <tr> <td>Type:</td> <td><input type="text" name="type" size="20"></td> </tr> <tr> <td>Pris:</td> <td><input type="text" name="pris" size="20"></td> </tr> <tr> <td> </td> <td><input type="submit" value="Gem" name="save"><input type="reset" value="Nulstil" name="slet"></td> </tr> </table> </form> - Feltet SN skal være tal, og skal være på 8 karaktere - Feltet sted skal bare være udfyldt - Feltet type skal bare være udfyldt - Feltet pris skal være udfyldt og af typen tal, men må godt indeholde "." for at adskilde tusinder. ex. 155.100
Annonceindlæg fra Bluecircle
02. januar 2004 - 00:13
#1
Sådan ?-) <script type="text/javascript"> function valider(f){ reg = /^\d{8}$/; if(!f.sn.value.match(reg)){ alert("Serienummer skal være på 8 cifre !-)"); f.sn.select(); f.sn.focus(); return false; } if(f.sted.value==f.sted.defaultValue||f.sted.value==""){ alert("Stedet skal udfyldes."); f.sted.select(); f.sted.focus(); return false; } if(f.type.value==f.type.defaultValue||f.type.value==""){ alert("Type skal angives"); f.type.select(); f.type.focus(); return false; } reg = /^\d{1,3}(\.\d{3})*$/ if(!f.pris.value.match(reg)){ alert("Pris skal angives som et tal !-)"); f.pris.select(); f.pris.focus(); return false; } } </script> <form method="POST" action='edit.asp?id=<%=request("id")%>' onsubmit="return valider(this);"> <table border="0" width="300" style="font-size: 12px;"> <tr> <td>SN:</td> <td><input type="text" name="sn" size="20"></td> </tr> <tr> <td>Sted:</td> <td><input type="text" name="sted" size="20"></td> </tr> <tr> <td>Type:</td> <td><input type="text" name="type" size="20"></td> </tr> <tr> <td>Pris:</td> <td><input type="text" name="pris" size="20"></td> </tr> <tr> <td> </td> <td><input type="submit" value="Gem" name="save"><input type="reset" value="Nulstil" name="slet"></td> </tr> </table> </form>
02. januar 2004 - 00:17
#2
-- og hvis det er valgfrit at bruge punktummer og/eller tilladt at angive beløb med kommatal, skal vi jo lige udvide den sidste RegExp !-)
02. januar 2004 - 00:19
#3
brugeren skal bruge "." og må ikke bruge komma, da talne er for store :-)
02. januar 2004 - 00:23
#4
jeg har lige prøvet at sætte det ind du har skrevet, men det ser ikke ud til at den validere ??
02. januar 2004 - 00:27
#5
det var mig der havde lavet en lille fejl, nu validere den fint. I nogle tilfelde er formen udfyldt på forhånd med data fra en database, men det vi lscriptet ikke acceptere, kan man gøre så den kan klare det?
02. januar 2004 - 00:30
#6
Et forudfyldt felt er sammenkoblet med defaultValue, så du skal bare fjerne den betingelse: if(f.type.value==""){
02. januar 2004 - 10:31
#7
så virker det, tusind tak for hjælpen.
02. januar 2004 - 10:32
#8
laver du lige et svar
03. januar 2004 - 01:37
#9
Velbekomme '-)
07. januar 2004 - 00:58
#10
-- og tak for points ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling