Avatar billede moejensen Nybegynder
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>&nbsp;</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
Avatar billede roenving Novice
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>&nbsp;</td>
        <td><input type="submit" value="Gem" name="save"><input type="reset" value="Nulstil" name="slet"></td>
    </tr>
</table>
</form>
Avatar billede roenving Novice
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 !-)
Avatar billede moejensen Nybegynder
02. januar 2004 - 00:19 #3
brugeren skal bruge "." og må ikke bruge komma, da talne er for store :-)
Avatar billede moejensen Nybegynder
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 ??
Avatar billede moejensen Nybegynder
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?
Avatar billede roenving Novice
02. januar 2004 - 00:30 #6
Et forudfyldt felt er sammenkoblet med defaultValue, så du skal bare fjerne den betingelse:

    if(f.type.value==""){
Avatar billede moejensen Nybegynder
02. januar 2004 - 10:31 #7
så virker det, tusind tak for hjælpen.
Avatar billede moejensen Nybegynder
02. januar 2004 - 10:32 #8
laver du lige et svar
Avatar billede roenving Novice
03. januar 2004 - 01:37 #9
Velbekomme '-)
Avatar billede roenving Novice
07. januar 2004 - 00:58 #10
-- og tak for points ;~}
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