/ 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
Form validering
Fra : Tommy


Dato : 23-06-03 06:08

Hej

Er der mon en der skulle have et script til formvalidering? Jeg ville gerne
sikre mig at det kun er tal og kun tal der er indtaster i et textfelt før
det bliver afsendt.

På forhånd tak

Tommy




 
 
Lasse Reichstein Nie~ (23-06-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 23-06-03 10:21

"Tommy" <info@manniken.dk> writes:

> Er der mon en der skulle have et script til formvalidering? Jeg ville gerne
> sikre mig at det kun er tal og kun tal der er indtaster i et textfelt før
> det bliver afsendt.
---
<script type="text/javascript">
function validateForm(form) {
return form.elements['talFelt'].value.match(/^\d+$/);
}
</script>
....
<form ... onsubmit="return validateForm(this)">
---

Forklaring:
Når man forsøger at submitte en form, så bliver onsubmit-handleren
udført.
Hvis onsubmit-handleren returnerer false så bliver formen ikke afsendt.

Funktionen validateForm kaldes med formen som argument (nemmere at
få den forærende end at finde den selv).
Den tjekker så at feltet med navn "talFelt" matche det regulære
udtryk "^\d+$".
Dette regulære udtryk betyder:
^ : starten på strengen
\d: et ciffer
+ : det foregående en eller flere gange
$ : slutningen på strengen
Altså: Det der står mellem start og slut af strengen er netop et
eller flere cifre.
Funktionen validateForm returnerer altså true hvis feltet kun indeholder
ciffre og false ellers.

Onsubmit-handleren forhindrer altså at formen bliver sendt hvis der
ikke står netop et eller flere ciffre i feltet.

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

Tommy (23-06-2003)
Kommentar
Fra : Tommy


Dato : 23-06-03 16:11

Tusind tak for hjælpen, Hvordan får jeg en msg box til at kome med en
meddelese om at formen er forkert udfyldt ?

Tommy



Maja Christensen (03-09-2003)
Kommentar
Fra : Maja Christensen


Dato : 03-09-03 13:50

Tommy wrote in dk.edb.internet.webdesign.clientside:
> Tusind tak for hjælpen, Hvordan får jeg en msg box til at kome med en
> meddelese om at formen er forkert udfyldt ?
>
> Tommy
>
>

Lang tid siden at spørgsmålet var der men svaret er:

<script type="text/javascript">
function validateForm(form) {

if (form.elements['talFelt'].value.match(/^\d+$/)!=-1);
{
alert('Kun tal !!!');
form.elements['talFelt'].focus();
return false;
}
}

Maja



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

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


Dato : 03-09-03 17:27

Maja Christensen <mchristensen@majasweb.dk> writes:

> Lang tid siden at spørgsmålet var der men svaret er:
>
> <script type="text/javascript">
> function validateForm(form) {
>
> if (form.elements['talFelt'].value.match(/^\d+$/)!=-1);

Den linje er gal.

Først og fremmest vil ";" til slut afslutte if- sætningen. Det betyder
at koden bagefter altid bliver udført.

Testen "!= -1" ligner noget der er brugt sammen med indexOf-metoden.
Et regulært-udtryks-match er ikke et tal, så det er aldrig lig med -1.
Til gengæld er det en værdi der tæller som falsk hvis det regulære
udtryk ikke matcher.

Prøv i stedet med:
if (!form.elements['talFelt'].value.match(/\D/))
(Jeg har vendt testen om, så den spørger om der ikke er et ikke-ciffer
i strengen, ikke om der kun er cifre).

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

Maja Christensen (04-09-2003)
Kommentar
Fra : Maja Christensen


Dato : 04-09-03 08:46

> Prøv i stedet med:
> if (!form.elements['talFelt'].value.match(/\D/))
> (Jeg har vendt testen om, så den spørger om der ikke er et ikke-ciffer
> i strengen, ikke om der kun er cifre).


Ups. Havde kommet til at blande nogle ting sammen og havde ikke testet
det ordentligt igennem. Undskyld.

Tusind tak for hjælpen. Virker nu med ovenstående rettelser.

Maja


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408540
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste