Jørgen Farum Jensen skrev den 17-12-2008:
> Birger Sørensen skrev:
>
>> Jeg ved ikke - umiddelbart er den god nok, med et par undtagelser..
>
> Ja men det syntes jeg jo også.
>
>> function kontrollerFormular()
>> {
>> if (kontrollerTom(kontakt.fnavn, 'fornavn') &&
>> kontrollerTom(kontakt.enavn, 'efternavn') &&
>> kontrollerTom(kontakt.email, 'e-mail-adresse') &&
>> kontrollerTal(kontakt.tlf, 'telefonnummeret'))
>> {
>> ...
>> Der mangler en parantes i if sætningen.
> > if ((kontrollerTom ...
>
> ??? Tæller vi på samme måde? if ( alle 4 variable true).
> if-erklæringen sluttes efter den sidste variabel?
>
Åbenbart ikke. Måske er det mig der skal have nyt hoved... :-?
I hvert fald, er det dig der har ret...
>
>> kontakt er et id for din form. IE kender den (JScript) - de andre gør ikke,
>> så
>> kontakt = document.getElementById( 'kontakt')
>> og den ene "kontakt", bør så nok hedde noget andet, vist mest for
>> overskueligheden...
>
> Right. Ikke at det gør nogen forskel... IE el FF.
>
> Jeg tænkte det på en eller anden mystisk måde hænger
> sammen med omdirigeringen, men
> function tjekFormular()
> {
> if (kontakt.fnavn.value==0)
> {
> alert("Indtast venligst dit fornavn");
> return false;
> }
> return true;
> }
>
> virker helt efter hensigten.
kontakt.fnavn.value == 0 er i hvert fald kun sand, hvis der indtastes
et 0 på linien - det er heller ikke sådan du har gjort det
oprindeligt..
kontakt.fnavn.value.length == 0 - og det skulle være godt nok.
Jeg kan ikke præcis se hvad det er der skulle gå galt.
Man kan steppe gennem js i FireBug i FF, alternativt indsætte alerts
strategiske steder, for at se hvor langt afviklingen faktisk kommer.
Du gør det lidt anderledes, end jeg plejer.
Du har et ekstra return..
<form onsubmit="return kontrollerFormular()"
<form onsubmit="kontrollerFormular()"
funktionen returnerer værdien - der er i min bog ikke nogen grund til
at reurnere den videre. Ikke sikker på at jeg har ret - men det plejer
at virke for mig, uden den ekstra return...
Havde for nylig nogle problemer med booleans der blev konverteret til
tal (0/1) - men det kan godt være det var i php - det kan i givet fald
give uventede resultater.
Og faktisk går jeg helst en helt anden vej.
Jeg bruger
<input type="button" ... onclick="kontrollerFormular();">
som submit knap.
function kontrollerFormular() {
if (/* formen er valid */) { kontakt.submit(); }
}
Man kan så ikke bruge formen uden script - men jeg har heller ikke lyst
til at modtage formularer der ikke er valideret. Selvfølgelig er det op
til een selv.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk