/ 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
Problemer med formvalidering
Fra : Rune Brynestad


Dato : 11-03-03 09:17

Jeg validerer om et felt er utfylt på følgende måte:

if (theForm.Telefonnummer.value == "")
{
alert( "Feltet Telefonnummer er obligatorisk." );
theForm.Telefonnummer.focus();
return (false) ;
}

Dette fungerer. Brukeren får feilmelding og sendes til det riktige feltet.

En kunde kan ha mange telefonnummer, f.eks. hjem, arbeid og mobil. Jeg vil
gjerne tillate en submitt dersom minst ett av tre felt er utfylt. Følgende
fungerer ikke:

if (theForm.Telefon_Hjem.value == "") AND (theForm.Telefon_Arbeid.value ==
"") AND (theForm.Mobiltelefon.value == "")
{
alert( "Minst ett telefonnummer er obligatorisk." );
theForm.Telefon_Hjem.focus();
return (false) ;
}

Kun hvis alle tre felt etterlates tomme skal brukeren få feilmelding. Håper
at noen kan hjelpe meg med dette problemet.

Mvh
Rune Brynestad
Sparebanken Sogn og Fjordane




 
 
Lasse Reichstein Nie~ (11-03-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 11-03-03 11:45

"Rune Brynestad" <rune.brynestad@fylkesbanken.no> writes:

> if (theForm.Telefon_Hjem.value == "") AND (theForm.Telefon_Arbeid.value ==
> "") AND (theForm.Mobiltelefon.value == "")

Der er ikke noget der hedder "AND" i Javascript, så det er ikke så
underligt at det ikke virker :). Det ville hedde:

if (theForm.Telefon_Hjem.value == "" &&
theForm.Telefon_Arbeid.value == "" &&
theForm.Mobiltelefon.value == "")

Der skal være en parentes yderst (en if-sætning har formen "if
(<udtryk>) <statement>", parenteserne er krævet), så hvis du vil have
parentes om hver del, så bliver det:

if ((theForm.Telefon_Hjem.value == "") &&
(theForm.Telefon_Arbeid.value == "") &&
(theForm.Mobiltelefon.value == ""))

(Jeg foretrækker personligt at skrive
document.forms['theForm'].elements['Telefon_Hjem']
etc., men det er vist kun en smagssag.)
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Morten Wang (11-03-2003)
Kommentar
Fra : Morten Wang


Dato : 11-03-03 12:11

* Lasse Reichstein Nielsen
> (Jeg foretrækker personligt at skrive
> document.forms['theForm'].elements['Telefon_Hjem']

Jeg foretrekker selv å bruke elements[]. forms[] trenger du bare i
første omgang, eventuelt ikke i det hele tatt. Send over skjemaet som
et argument til metoden som validerer det, for eksempel:

function validateForm(thisForm) {
// valideringskode med return()
}

<form onsubmit="return validateForm(this);">

thisForm.elements['Telefon_Hjem'] er helt kosher.

For øvrig kan if(theForm.elements['Telefon_Hjem'].value == "" && ... )
kortes ned til if(!theForm.elements['Telefon_Hjem'].value && ...) da
en verdi på "" evalueres til false.


Morten!

--
"If you don't know what your program is supposed to do,
you'd better not start writing it."

Spørsmål som sendes uoppfordret via mail kan ikke beregnes besvart.

Rune Brynestad (12-03-2003)
Kommentar
Fra : Rune Brynestad


Dato : 12-03-03 10:57

Nå fungerer det. Tusen takk for hjelpen!

Mvh
Rune Brynestad
Sparebanken Sogn og Fjordane


"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i melding
news:vfyqfaha.fsf@hotpop.com...
> "Rune Brynestad" <rune.brynestad@fylkesbanken.no> writes:
>
> > if (theForm.Telefon_Hjem.value == "") AND (theForm.Telefon_Arbeid.value
==
> > "") AND (theForm.Mobiltelefon.value == "")
>
> Der er ikke noget der hedder "AND" i Javascript, så det er ikke så
> underligt at det ikke virker :). Det ville hedde:
>
> if (theForm.Telefon_Hjem.value == "" &&
> theForm.Telefon_Arbeid.value == "" &&
> theForm.Mobiltelefon.value == "")
>
> Der skal være en parentes yderst (en if-sætning har formen "if
> (<udtryk>) <statement>", parenteserne er krævet), så hvis du vil have
> parentes om hver del, så bliver det:
>
> if ((theForm.Telefon_Hjem.value == "") &&
> (theForm.Telefon_Arbeid.value == "") &&
> (theForm.Mobiltelefon.value == ""))
>
> (Jeg foretrækker personligt at skrive
> document.forms['theForm'].elements['Telefon_Hjem']
> etc., men det er vist kun en smagssag.)
> /L
> --
> Lasse Reichstein Nielsen - lrn@hotpop.com
> Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
> 'Faith without judgement merely degrades the spirit divine.'



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

Månedens bedste
Årets bedste
Sidste års bedste