Avatar billede botha1 Nybegynder
19. januar 2003 - 23:30 Der er 12 kommentarer og
1 løsning

Hjælp til "skal udfyldes" funktion

dette er en formular jeg skal bruge til at registrere nye brugere, MEN hvordan sikrer jeg mig lettest at :

1. ALLE felter er udfyldt
2. postnummer er 4 tal
3. telefonnummer er 8 tal
4. email er gyldig

her er koden
......
                  <table border="0" width="100%">
                    <tr>
                      <td width="33%" align="right"><font color="#70ABE5"><b>Navn:</b></font></td>
                      <td width="67%"> <input type="text" name="navn" size="35"></td>
                    </tr>
                    <tr>
                      <td width="33%" align="right"><font color="#70ABE5"><b>Adresse:</b></font></td>
                      <td width="67%">
                      <input type="text" name="adresse" size="35"></td>
                    </tr>
                    <tr>
                      <td width="33%" align="right"><font color="#70ABE5"><b>Postnr:</b></font></td>
                      <td width="67%">
                      <input type="text" name="postnummer" maxlength="4" size="35"></td>
                    </tr>
                    <tr>
                      <td width="33%" align="right"><font color="#70ABE5"><b>By:</b></font></td>
                      <td width="67%"><input type="text" name="by" size="35"></td>
                    </tr>
                    <tr>
                      <td width="33%" align="right"><font color="#70ABE5"><b>Tlf. nummer:</b></font></td>
                      <td width="67%">
                      <input type="text" name="telefonnummer" maxlength="8" size="35"></td>
                    </tr>
                    <tr>
                      <td width="33%" align="right"><font color="#70ABE5"><b>E-mail:</b></font></td>
                      <td width="67%">
                      <input type="text" name="e-mail" size="35"></td>
                    </tr>
                    <tr>
                      <td width="33%" align="right"><font color="#70ABE5"><b>Kodeord:</b></font></td>
                      <td width="67%">
                      <input type="tekst" name="kodeord" size="35"></td>
                    </tr>
                    <tr>
                      <td width="100%" colspan="2">
                        <p align="center"><input type="submit" value=" Opret bruger "></td>
                    </tr>
                  </table>
Avatar billede Slettet bruger
19. januar 2003 - 23:35 #1
Hvilket sprog?

php,asp,javascript?
Avatar billede botha1 Nybegynder
19. januar 2003 - 23:38 #2
helst java
Avatar billede botha1 Nybegynder
19. januar 2003 - 23:38 #3
MEN det er en asp fil, så det kan også bruges
Avatar billede bootie Nybegynder
19. januar 2003 - 23:42 #4
Lav en *.js fil og importere den med:
<script language='JavaScript1.2' src='*.js'></script>

I din form skriv:
<form ...bla... onsubmit='return vallogin(this)'>

I din *.js fil skriver du nu følgende sammenhørende med alle dine inputs:
function validate(theForm)
{
  //Tester om username er indtastet
 
  if (theForm.username.value == "")
  {
    alert("Du skal indtaste Brugernavn.");
    theForm.username.focus();
    return (false);
  }
 
  //Tester om ' tegnet indgår i username
 
  if (theForm.username.value != "")
  { var username = theForm.username.value;
    for (var i = 0; i < username.length; i++)
    {
      if (username.substring(i, (i+1)) == "'")
          {  alert("Du har indtastet ugyldige karaktere i Brugernavn.");
            theForm.username.focus();
            return (false);
          }
      if (username.substring(i, (i+1)) == " ")
          {  alert("Du har indtastet ugyldige karaktere i Brugernavn.(ingen mellemrum)");
            theForm.username.focus();
            return (false);
          }
    }
  }
  ... Kode til det næste felt i formen...

  return true;
}

Metoden ovenfor tester først på om feltet username er udfyldt og dernæst om enkelgnyf indgår. Herfra er det simpelt at udbygge systemet så det indkludere flere felter :)
Eller spørg igen
Avatar billede bootie Nybegynder
19. januar 2003 - 23:44 #5
onsubmit='return vallogin(this)' og function validate(theForm) skal selvfølgelig være sammenhørende også! Sorry

hvis du kalder funktionen validate skal der også stå validate(this) i formen :)
Avatar billede bootie Nybegynder
19. januar 2003 - 23:46 #6
Og så lige et svar også
Avatar billede botha1 Nybegynder
19. januar 2003 - 23:47 #7
PLEASE kan du ikke lave den for mig ??

Jeg "dudder" ikke til java.

er det vildt svræt at tilrette ?
Avatar billede bootie Nybegynder
19. januar 2003 - 23:50 #8
Nej...
Hvis du vil tjekke et felt der hedder navn skriver du:
if (theForm.navn.value == "")
  {
    alert("Du skal indtaste navn.");
    theForm.navn.focus();
    return (false);
  }
fx..
Og så fremdeles.
Der skal så lige laves nogle andre tjek når du skal finde ud af om der er 4 tal og sådan..

Men send din form til mig på henrikholmdk@vip.cybercity.dk
og så poster jeg den færdige JS til dig med vejledning til at bruge den OK?
Avatar billede botha1 Nybegynder
19. januar 2003 - 23:56 #9
findes der ikke en lettere måde - det der er sort snak for mig :o(
Avatar billede bootie Nybegynder
19. januar 2003 - 23:57 #10
Dette ER den lette måde :)
Det er sådan man gør det...
Avatar billede kbonline Nybegynder
20. januar 2003 - 00:25 #11
indtast dette i <head>

-
<script language="JavaScript" type="text/javascript">
<!--
    function emailCheck(str) {
        if(!str.match(/^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,6}$/i)) {
            return false;
        } else {
            return true;
        }
    }
   
    function val(f) {
        if (f.navn.value.length < 1) {
            alert("du har glemt at indtaste dit navn");
            return false;
        }
        if (f.adresse.value.length < 1) {
            alert("du har glemt at indtaste din adresse");
            return false;
        }
        if (f.postnummer.value.length < 1) {
            alert("du har glemt at indtaste dit postnummer");
            return false;
        }
        if (f.by.value.length < 1) {
            alert("du har glemt at indtaste din by");
            return false;
        }
        if (f.telefonnummer.value.length < 1) {
            alert("du har glemt at indtaste dit telefonnummer");
            return false;
        }

        if (emailCheck(f.email.value) == false) {
            alert('Du har ikke indtastet en gyldig E-mail');
            return false;
        }
   
        if (f.kodeord.value.length < 1) {
            alert("du har glemt at indtaste dit kodeord");
            return false;
        }
   
   
        return true;
    }

//-->
    </script>


---
og dette tilføjes din "post" knap:
---

onSubmit='return val(this);'

---

dette burde virke :-)
Avatar billede botha1 Nybegynder
21. januar 2003 - 15:58 #12
ha ha - se det var lettere at finde ud af.
(da jeg fandt frem til at du har ændret min e-mail til email)

tak for hjælpen
Avatar billede bootie Nybegynder
21. januar 2003 - 16:04 #13
Princippielt er det det samme vi gør i begge svar.

Jeg kalder bare en metode i en seperart js fil og i den anden kalder man en funktion i det sammen dokument.

Men klart at det er umiddelbart lettere for en rookie at sætte den ind i samme dokument. Fair nok.

Men med tiden vil du se at det nogle gange vil være mere optimalt at putte tjekket i et seperat dokument. Det er meget modulært og mere genbrugbart.

Men det kommer nok engang.

Godt der kom et svar du kunne bruge. :)
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
Alle kurser indenfor Microsoft 365 – både til begyndere og øvede.

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