Avatar billede ldplusse Nybegynder
16. oktober 2002 - 23:21 Der er 13 kommentarer og
1 løsning

Form field check

jeg har et lille javascript som checker om der står nogen i en form, inden at den vil tillage at sende den.

Jeg kan se at man kan tjekke om feks. "@" eksistere, ved at der sættes "indexOf('@')==-1)" bag på koden.

Jeg kan ikke lige gennemskue, hvordan, dette virker.
Jeg ville nemlig gerne checke om 2 felter bliver tastet ens (password check).

Jeg ville entlig også gerne checke om en felt kun eneholder tal, så man i tlf nr. ikke kan skrive andet en tal.

Jeg har vist lidt af koden:
-----------------------------------------------------
<SCRIPT LANGUAGE='JAVASCRIPT'>
function checkPurchaseFields() {
    if (document.brugeroplysninger.Navn.value=='') {
        rc=alert('Indtast dit navn');
        return false;
    }

    if (document.brugeroplysninger.Email.value=='') {
        rc=alert('Indtast din Email adresse');
        return false;
    }
    if (document.brugeroplysninger.Email.value.indexOf('@')==-1) {
        rc=alert('Indtast din email korrekt');
        return false;
    }
    if (document.brugeroplysninger.Email.value.indexOf('.')==-1) {
        rc=alert('Indtast din email korrekt');
        return false;
    }

    if (document.brugeroplysninger.Kode.value=='') {
        rc=alert('Indtast kode.');
        return false;
    }
    if (document.brugeroplysninger.Kode_gentag.value=='') {
        rc=alert('Indtast Gentag kode.');
        return false;
    }
    return true;
}
</SCRIPT>
Avatar billede eagleeye Praktikant
16. oktober 2002 - 23:55 #1
du kan bruge dette til at test om de to password er forskellige:


    if (document.brugeroplysninger.Kode.value!=document.brugeroplysninger.Kode_gentag.value) {
        rc=alert('De to password felter skal være ens!');
        return false;
    }
Avatar billede eagleeye Praktikant
17. oktober 2002 - 00:00 #2
dette kan tjekke om der kun er indtastede tal i telefon nr., jeg har kaldt input feltet for tlf:


    for (var i=0, len=document.brugeroplysninger.tlf.value.length-1, valid='0123456789.' ; i<len ; i++) {
        if (valid.indexOf(document.brugeroplysninger.tlf.value.substring(i,i+1)) == -1) {
            alert('Ugyldigt telefonnr. Kun tal tilladt');
            return false;
        }
    }
Avatar billede ldplusse Nybegynder
17. oktober 2002 - 00:00 #3
Tak for det. det virker perfekt.
Kan du give en kort forklaring.

Eller kender du et godt sted at læse omkring lige denne funktion.
Kan ikke lige se hvad "!" og "==" og "==-1" gør
Avatar billede eagleeye Praktikant
17. oktober 2002 - 00:01 #4
how det kom . med i valid listen :) det kan bare fjernes

valid='0123456789'
Avatar billede eagleeye Praktikant
17. oktober 2002 - 00:02 #5
!=  betyder forskellig fra
==  betyder lig med

Jeg bruger dette sted til Javascript hjælp, der er som regl noget som kan bruges som udgangs punkt..:
http://developer.irt.org/script/script.htm

Og dette:
http://www.web-building.com/javascript.php3
Avatar billede eagleeye Praktikant
17. oktober 2002 - 00:03 #6
Denne: 

Email.value.indexOf('@')==-1

hvis @ ikke findes i input feltet Email så returne indexOf -1
Avatar billede ldplusse Nybegynder
17. oktober 2002 - 00:03 #7
Tak for det.
Du har ellers styr på det.
Rart med hurtigt hjælp.
Avatar billede ldplusse Nybegynder
17. oktober 2002 - 00:18 #8
Kan du også hjælpe med at koden også skal indeholde mindst 4 tegn.

Det er jo rat nemt at ændre koden når du først har lavet den.
Feks. ingen problemer i at lave den med tlf. om til at dú på navn.

email irritere mig også lidt for den tjekker kun om der er "@" og ".", den burde checke om der stod x@x.x.
Nu kan man som email adresse skrive "@.", denne fejler så længere inde i formen, når den skal sendes. men det er en anden slags fejlmeddelse, for den skriver det ud på skærmen med response.write (formmail.asp fra brainjar.com)
Avatar billede eagleeye Praktikant
17. oktober 2002 - 00:27 #9
if (document.brugeroplysninger.FELTNAVN.value.length<4) {
  alert('Mindst 4 tegn skal skrive');
  return false;
}
Avatar billede ldplusse Nybegynder
17. oktober 2002 - 17:29 #10
Hvis jeg vil checke om der er sat hak i en "checkbox" så virker det ikke, skal koden så se anderledes ud.

---------------------------------------------------
    if (document.brugeroplysninger.Betingelser.value!='Accepteret') {
        rc=alert('Du skal accepterer betingelserne');
        return false;
    }
--------------------------------------------------------------
<input type="checkbox" name="Betingelser" value="Accepteret">
--------------------------------------------------------------
Avatar billede eagleeye Praktikant
17. oktober 2002 - 17:32 #11
Ja du skal tjekke på om checked = true

  if (document.brugeroplysninger.Betingelser.checked==false) {
        rc=alert('Du skal accepterer betingelserne');
        return false;
    }
Avatar billede ldplusse Nybegynder
17. oktober 2002 - 17:44 #12
Det virker ikke.
Avatar billede eagleeye Praktikant
17. oktober 2002 - 17:59 #13
Det skulle da ellers gerne virke.. eller så prøv:
Får du en fejl?

  if (!document.brugeroplysninger.Betingelser.checked) {
        rc=alert('Du skal accepterer betingelserne');
        return false;
    }
Avatar billede ldplusse Nybegynder
17. oktober 2002 - 18:02 #14
Jep den virker.
Tak for det.
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
Kurser inden for grundlæggende programmering

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