/ 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
Validering af formular
Fra : Jørgen Farum Jensen


Dato : 17-12-08 14:10

Jeg er ved at stirre mig blind på et valideringsscript.
Problemet er, at det overhovedet ikke validerer. Formular,
script osv. kan ses på nedenstående uri:

http://senior-pc.733.dk/validate2.html

Hints eller et nyt hoved modtages med tak.

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

 
 
Birger Sørensen (17-12-2008)
Kommentar
Fra : Birger Sørensen


Dato : 17-12-08 14:25

Jørgen Farum Jensen tastede følgende:
> Jeg er ved at stirre mig blind på et valideringsscript.
> Problemet er, at det overhovedet ikke validerer. Formular,
> script osv. kan ses på nedenstående uri:
>
> http://senior-pc.733.dk/validate2.html
>
> Hints eller et nyt hoved modtages med tak.

Jeg ved ikke - umiddelbart er den god nok, med et par undtagelser..

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 ...
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...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Jørgen Farum Jensen (17-12-2008)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 17-12-08 17:16

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?


> 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.
--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Stig Johansen (17-12-2008)
Kommentar
Fra : Stig Johansen


Dato : 17-12-08 21:57

Jørgen Farum Jensen wrote:

> Birger Sørensen skrev:
>> Der mangler en parantes i if sætningen.
> > if ((kontrollerTom ...

Hvis jeg fjerner den ene ( så det bliver if (kontrollerTom ...
så virker det i FF,Konqueror samt IE6.

--
Med venlig hilsen
Stig Johansen

Birger Sørensen (17-12-2008)
Kommentar
Fra : Birger Sørensen


Dato : 17-12-08 22:24

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



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

Månedens bedste
Årets bedste
Sidste års bedste