"Jesper Stocholm" <jespers@stocholm.invalid> skrev i en meddelelse
news:Xns92CB7006ACDAEspamstocholmdk@130.226.1.34...
> Jeg har følgende stump script, som jeg har skrevet til at validere
> input i en form:
>
> function validateLogin(strEmail,strPassword) {
> if(strEmail.length == 0 || strPassword.length == 0) {
>
> alert('Du skal angive både en emailadresse og et password for at logge
ind.');
> if(strEmail.length == 0 && strPassword.length > 0) {
> document.forms[1].strEmail.focus();
> }
> if(strEmail.length > 0 && strPassword.length == 0) {
> document.forms[1].strPassword.focus();
> }
> if(strEmail.length == 0 && strPassword.length == 0) {
> document.forms[1].strEmail.focus();
> }
>
> return false; //dette skulle gerne stoppe submit af formen
> }
> }
>
> Det kaldes i formen som
>
>
onsubmit="validateLogin(document.forms[1].strEmail.value,document.forms[1].s
trPassword.value);"
>
> Idéen er jo, at der ved fejlagtig indtastning promptes for fejl,
> og submit af formularen stoppes. Der er ingen problemer med at
> fortælle brugeren, at det ene eller det andet er forkert, men
> selvom der er en fejl, så submittes formen alligevel.
>
> Hvor fejler jeg i mit script ?
>
Plejer man ikke at sige:
onsubmit="return
validateLogin(document.forms[1].strEmail.value,document.forms[1].strPassword
..value);"
- hvis funktionen returnerer false, så returnerer onsubmit false og formen
submittes derved ikke.
Chrisser