/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Undgå submit ved validerings-fejl
Fra : Dude


Dato : 15-01-08 21:03

Hej!

Jeg har en form:
<form method="post" action="modtagersiden.php" name="formnavn"
onSubmit="valider_script();">

- Jeg vil gerne undgå at siden submittes, hvis mit validerings-script
finder fejl. - Hvordan gør jeg det?

Mvh
John

 
 
Birger (15-01-2008)
Kommentar
Fra : Birger


Dato : 15-01-08 22:38

"Dude" <post@XxXx_mejlgade.dk> skrev i en meddelelse
news:478d121e$0$2993$ba624c82@nntp06.dk.telia.net...
> Hej!
>
> Jeg har en form:
> <form method="post" action="modtagersiden.php" name="formnavn"
> onSubmit="valider_script();">
>
> - Jeg vil gerne undgå at siden submittes, hvis mit validerings-script
> finder fejl. - Hvordan gør jeg det?
>

function valider_script() {
if ( der er fundet fejl) { return false; }
else { return true; }
}



Christian Hansen (15-01-2008)
Kommentar
Fra : Christian Hansen


Dato : 15-01-08 23:12

Dude wrote:
> Hej!
>
> Jeg har en form:
> <form method="post" action="modtagersiden.php" name="formnavn"
> onSubmit="valider_script();">
>
> - Jeg vil gerne undgå at siden submittes, hvis mit validerings-script
> finder fejl. - Hvordan gør jeg det?


functionen valider_script(); skal returnere en boolean true|false og så
skal du returnere den værdi til eventhandleren - altså onSubmit="return
valider_script();"

Mvh Christian

Birger (16-01-2008)
Kommentar
Fra : Birger


Dato : 16-01-08 08:20

"Christian Hansen" <chrsen@fundanemt.com> skrev i en meddelelse
news:478d2f3d$0$15875$edfadb0f@dtext01.news.tele.dk...
> Dude wrote:
>> Hej!
>>
>> Jeg har en form:
>> <form method="post" action="modtagersiden.php" name="formnavn"
>> onSubmit="valider_script();">
>>
>> - Jeg vil gerne undgå at siden submittes, hvis mit validerings-script
>> finder fejl. - Hvordan gør jeg det?
>
>
> functionen valider_script(); skal returnere en boolean true|false og så
> skal du returnere den værdi til eventhandleren - altså onSubmit="return
> valider_script();"
>


valider_script() _er_ eventhandleren.
Derfor er "valider_script();" og "return valider_script();" det samme -
"return" overflødigt, unødvendigt og forvirrende.


Birger
-----
http://bbsorensen.dk



Christian Hansen (16-01-2008)
Kommentar
Fra : Christian Hansen


Dato : 16-01-08 10:16

Birger wrote:

> valider_script() _er_ eventhandleren.
> Derfor er "valider_script();" og "return valider_script();" det samme -
> "return" overflødigt, unødvendigt og forvirrende.

Nej, valider_script() er eventhandler funktionen - onsubmit er
eventhandleren.

Hvis du ikke returnerer valider_scripts() værdi fra event-handleren til
browseren vil browseren sende formularen uanset om valider_script er
true eller false.

return valider_script() i onsubmit returnerer altså værdien af
valider_script til browseren, som så afgør om formularen skal sendes
eller ej.

Man skal ikke returnere en værdi fra en eventhandler - gør man det ikke
foretager browseren sig bare den handling, som er standard for den
pågælende event - i dette tilfælde et formsubmit.

Hvis du ønsker at læse mere om emnet, kan jeg henvise til "Javascript -
the definitive guide" fra O'Reilly, 5th edition side 395-397 :)

Mvh Christian

Christian Hansen (16-01-2008)
Kommentar
Fra : Christian Hansen


Dato : 16-01-08 10:19

Christian Hansen wrote:
> Birger wrote:
>
>> valider_script() _er_ eventhandleren.
>> Derfor er "valider_script();" og "return valider_script();" det samme
>> - "return" overflødigt, unødvendigt og forvirrende.
>
> Nej, valider_script() er eventhandler funktionen - onsubmit er
> eventhandleren.

Og det er heller ikke heeelt rigtig - hvis man taler om eventhandler
funktionen, så er det fordi man har bundet en funktion på en
eventhandler ( formelement.onsubmit = functionname; - i dette tilfælde
ville eventhandler-koden eller lign. måske være mere rigtigt.

Mvh Christian

Birger (16-01-2008)
Kommentar
Fra : Birger


Dato : 16-01-08 11:36

"Christian Hansen" <chrsen@fundanemt.com> skrev i en meddelelse
news:478dcad7$0$15879$edfadb0f@dtext01.news.tele.dk...
> Birger wrote:
>
>> valider_script() _er_ eventhandleren.
>> Derfor er "valider_script();" og "return valider_script();" det samme -
>> "return" overflødigt, unødvendigt og forvirrende.
>
> Nej, valider_script() er eventhandler funktionen - onsubmit er
> eventhandleren.
>
> Hvis du ikke returnerer valider_scripts() værdi fra event-handleren til
> browseren vil browseren sende formularen uanset om valider_script er true
> eller false.
>
> return valider_script() i onsubmit returnerer altså værdien af
> valider_script til browseren, som så afgør om formularen skal sendes eller
> ej.
>
> Man skal ikke returnere en værdi fra en eventhandler - gør man det ikke
> foretager browseren sig bare den handling, som er standard for den
> pågælende event - i dette tilfælde et formsubmit.
>
> Hvis du ønsker at læse mere om emnet, kan jeg henvise til "Javascript -
> the definitive guide" fra O'Reilly, 5th edition side 395-397 :)
>
> Mvh Christian


Det har du så ret i, kan jeg se...
(http://test4.bbsorensen.dk)
Mindes aldrig at have gjort sådan - blot brugt funktionen.
Plejer så heller ikke at bruge submit, men en almindelig button, der tester
værdier på onclick, og hvis OK kalder formens submit().

Så fik jeg lært noget i dag også ;>)


Birger
-----
http://bbsorensen.dk



Leonard (16-01-2008)
Kommentar
Fra : Leonard


Dato : 16-01-08 10:53

On Wed, 16 Jan 2008 08:19:42 +0100, Birger wrote:

> Derfor er "valider_script();" og "return valider_script();" det samme -
> "return" overflødigt, unødvendigt og forvirrende.

Det virker bare ikke ens hos mig.
Med return submittes formen først når alt er OK, uden return kommer der
godt nok en advarsel op, men formen submittes så alligevel.

http://162.dk/test/form.html

Her har jeg så et andet problem med at tjekke om en af radio
valgmulighederne er valgt.
Jeg troede jeg kunne se det ved at tjekke på længden af værdien, men det
er åbenbart ikke godt nok.

--
Leonard
King Hauler sælges: http://leonard.dk/tilsalg/kh.php

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste