"Kasper Johansen" <kajo08@ihnykf.dk> writes:
> "Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
> news:n0gwk019.fsf@hotpop.com...
> > <form ...
> > onsubmit="return (this.elements['tekstboks'].value.indexof'\'' != -1)">
Lad mig med det samme rette det til:
onsubmit="return (this.elements['tekstboks'].value.indexOf('\'') == -1)">
(ouch, det var tre fejl jeg fik puttet ind i løbet af otte tegn!)
> Hvis at der så også var en der forklarede hvordan at det virkede da jeg ikke
> er den bedste til js ville det være rigtig rart. Ellers kommer jeg bare igen
> og spørger om råd igen en anden gang :)
Den lidt længere forklaring:
I onsubmit-handleren refererer "this" til det element den sidder på, altså
formen.
Så er "this.elements['tekstboks']" det input-element i formen med navn
"tekstboks", og "this.elements['tekstboks'].value" er den tekst der
står i tekstboksen.
Denne tekst er en javscript-streng, så man kan bruge streng-funktionen
indexOf (det skal være med stort O, jeg kan se jeg skrev forkert
ovenfor). Hvis foo er en variabel der indeholder en streng, så finder
foo.indexOf("bib") det første sted i strengen hvor der står "bib".
Hvis der slet ikke står "bib", så giver det -1.
Altså
this.elements['tekstboks'].value.indexOf('\'') == -1
betyder
der står ikke et '-tegn i indholdet af tekstfeltet med nanv "tekstboks"
i denne form.
Vi returnerer så dette, altså "true" hvis der ikke står ' og false
hvis der gør. Hvis vi returnerer false i en onsubmit-handler, så bliver
formen ikke sumbittet.
Håber det gav nogenlunde mening.
/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.'