Avatar billede jensbo Nybegynder
10. december 2001 - 14:21 Der er 11 kommentarer og
1 løsning

Form check

Jeg vil gerne lave et form tjeck hvor den ikke flyttet focus fra feltet hvis det ikke er udfyldt korrekt, hvordan gør jeg det?????
Avatar billede jakoba Nybegynder
10. december 2001 - 14:42 #1
ved validering på onsubmit:
function valider( frm ) { // validerer alle felter
    // test evt andre felter før
    if ( frm.detfelt.value == \'forkert\' ) {
        alert( \'felt detfelt er udfyldt forkert\' );
        frm.detfelt.focus();
        return false;
    }
    // test evt andre felter efter.
}; //end valider( form object ) -> boolean
form kommando og felt:
<form ... onsubmit=\"valider(this);\">
<input type=\'text\' name=\'detfelt\' value=\"\">


ved validering på onblur:
function checkdette( dettefelt ) {
    if ( dettefelt.value == \'forkert\' ) { // kan være meget irriterende
        alert( \'felt \'+dettefelt.name +\' er udfyldt forkert\' );
        dettefelt.focus();
    }
}; //end checkdette( form element object )
feltet:
<input type=\'text\' name=\'detfelt\' value=\"\" onblur=\"checkdette(this);\">

mvh JakobA
Avatar billede Slettet bruger
10. december 2001 - 14:51 #2
jakoba>> <form ... onSubmit=\"return valider(this);\">
Du glemte \"return\"!
Avatar billede jakoba Nybegynder
10. december 2001 - 14:52 #3
Ups.  Ja det skal med.  Tak for rettelsen.
Avatar billede jensbo Nybegynder
10. december 2001 - 15:14 #4
MEn den stinker lidt hvis man bruger den med felt tjeck,  den kan gå i baglås............skod
Avatar billede jensbo Nybegynder
10. december 2001 - 15:18 #5
Problemet er hvis der der flere felter!!!!!!!!!!!!!!!!!!
Avatar billede jakoba Nybegynder
10. december 2001 - 15:19 #6
Det er nemlig det, du skal være grumme omhyggelig med ikke at lave en strengere check end at folk har en chance for at udfylde feltet.
Svenskere og nordmænd skal kunne skrive landekode foran postnummeret, osv.
Avatar billede jakoba Nybegynder
10. december 2001 - 15:20 #7
hvordan i baglås? med hvilken test?
Avatar billede Slettet bruger
10. december 2001 - 15:21 #8
Ja, det er helt korrekt, og det er derfor også klart mest brugervenligt at tjekke på formens onSubmit fremfor på onBlur. Det er også mega-irriterende med alle de alert\'s, når man kan nøjes med at få en, eller i det mindste alle på én gang!
Avatar billede Slettet bruger
10. december 2001 - 15:23 #9
Jakoba>> Hvis man smutter videre til et andet tekstfelt, der også har samme onBlur-test, så bliver dens onBlur eventhandler jo også affyret, når det forrige tekstfelt med fejl i får fokus vha. dit script. På den måde er det en ond cirkel!
Avatar billede jakoba Nybegynder
10. december 2001 - 15:33 #10
For søren ja.
nu bliver den kringlet:

ved validering på onblur:  kun tekstfelter, textareas og select-one (dvs felter der ikke ændrer sig blot ved klik)

function checkdette( dettefelt ) {
    if ( dettefelt.value == \'forkert\' ) { // kan være meget irriterende
        alert( \'felt \'+dettefelt.name +\' er udfyldt forkert\' );
        dettefelt.focus();
    } else
        dettefelt.endret = false;
}; //end checkdette( form element object )
feltet:

<input type=\'text\' name=\'detfelt\' value=\"\" onchange=\"this.endret=true\" onblur=\"if(this.endret)checkdette(this);\">

mvh JakobA
Avatar billede jensbo Nybegynder
10. december 2001 - 15:33 #11
Hvordan laver man så tjeck på flere felter ved brug af onsubmit
Avatar billede jensbo Nybegynder
10. december 2001 - 15:37 #12
Fejl 40 !!!!!!!
Min fejl :)
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

IT-JOB

Capgemini Danmark A/S

Open Application (Denmark)

KMD A/S

BI Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Senior specialister (DevSecOps) til Forsvarets nye Digitale Backbone

Forsvarets Efterretningstjeneste

Network engineer - Datacenter & Automation

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Senior specialister (Datacenter Network) til Forsvarets nye Digitale Backbone