Avatar billede webbe Nybegynder
07. december 2000 - 08:35 Der er 9 kommentarer og
1 løsning

OnChange, OnBlur eller....???

Hejsa!

Jeg er nystarter i JavaScript og jeg har brug for lidt hjælp.

Jeg har et script der validerer nogle felter. Som det er pt. bruger onSubmit og det virker også, men jeg vil hellere have at der valideres når jeg forlader feltet!
Dvs. der skal tjekkes om feltet er udfyldt når jeg forlader feltet.

Er der nogen der kan hjælpe?
Avatar billede ldanielsen Nybegynder
07. december 2000 - 08:38 #1
Det skal være på onChange:
<input type=text onChange=\"minValidateFunktion()\">
Avatar billede webbe Nybegynder
07. december 2000 - 08:52 #2
Hej Ida!

Nu har jeg skrevet det på følgende måde:

<input type=\"\"TEXT\"\" name=\"\"bestnr\"\" size=\"\"5\"\" onChange=\"\"return validate1()\"\">

Men umiddelbart virker det ikke.

Jeg har return med, da jeg også bruger en onSubmit=\"\"return checkcover()\"\" og det fungerer!

Jeg har dobbelt \" da jeg genererer min tabel via en response.write
Avatar billede ldanielsen Nybegynder
07. december 2000 - 09:06 #3
Hvad skal der ske når du har skrevet i et felt, hvis det er forkert?

Umiddelbart giver det ingen mening at bruge return her.

Hilsen Lars D
Avatar billede webbe Nybegynder
07. december 2000 - 09:07 #4
Lars D!

Det eneste der skal ske er at når jeg forlader feltet skal der tjekkes om det er udfyldt eller ej.....er det ikke udfyldt kommer der en window.alert´

Min function ser sådan ud:

function validate1() {
        if (!document.forms.form1.bestnr.value)
        window.alert(\"Hovsa - du glemte at udfylde feltet Best.nr.!\");
        document.forms.form1.bestnr.focus();
    }
Avatar billede ldanielsen Nybegynder
07. december 2000 - 13:37 #5
Du kan lave den onChange, uden return, men hvorfor? Hvis den bliver fyret af, så har feltet ændret sig, og så er det vel ikke tomt. onBlur burde være det rigtige, men den bliver fyret af hver gang du klikker på nogetsomhelst, så det er nok heller ikke godt

Lav den på:
onSubmit=\"\"return validate1()\"\"

Lav funktionen sådan, så tror jeg det virker
function validate1() {
  valid=true
  if (!document.forms.form1.bestnr.value){
    valid=false
    window.alert(\"Hovsa - du glemte at udfylde feltet Best.nr.!\");
    document.forms.form1.bestnr.focus();
    }
  return valid
  }


Hvis du laver en <body ... ... onLoad=\"document.forms.form1.bestnr.focus()\">
Så skulle den være hjemme.
Avatar billede webbe Nybegynder
07. december 2000 - 13:57 #6
Hmmmm - nøjes bare med en onSubmit, for der er ikke nogen af løsningerne der virker.

Bruger bare det script jeg havde inden jeg oprettede spørgsmålet!
Avatar billede webbe Nybegynder
07. december 2000 - 13:59 #7
Ida!

Dit svar virker sikkert, men det er ikke ret meget anderledes end det jeg startede ud med!

Så jeg bliver nødt til at afvise dit svar.
Avatar billede ldanielsen Nybegynder
07. december 2000 - 14:42 #8
Fedterøv! :o)

Venlig hilsen Lars D
Avatar billede webbe Nybegynder
07. december 2000 - 14:43 #9
Lars!

Har ikke noget med det at gøre min ven! ;O)

Men vil da ikke betale for noget jeg ikke kan bruge til noget! :O)
Avatar billede ldanielsen Nybegynder
07. december 2000 - 21:34 #10
Nej, det er da også i orden.
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