Christoffer Kjeldgaard <christoffer@sappy.dk> writes:
> Jeg har ikke så frygtelig meget forstand på JavaScript, men har
> da arbejdet med det indimellem hvor jeg selv har kunnet justere
> et par småting.
Javascript i browsere er alt andet end så nemt som det ser ud til.
Djævelen er jo altid i detaljerne, og hvis man skal være kompatibel
med 5+ forskellige browsere (i flere versioner hver), så er der
frygteligt mange detaljer :)
....
> <script type="text/javascript">
> function tjek(){
> if(document.formular.navn.value == ""){
Som andre har sagt:
document.forms['formular'].elements['navn'].value
Der er ikke brug for at bruge "getElementById", da "forms"-samlingen
er lige så gyldig W3C DOM og samtidigt virker i alle browsere.
> alert("Vær venlig at skrive dit navn.")
Jeg anbefaler at slutte sætningen med et semikolon, også selvom det
kan udelades. Det øger overskueligheden at man er helt sikker på
hvor sætningerne ender.
> document.formular.navn.focus()
Også her skal det være
document.forms['formular'].elements['navn'].focus();
> <form name="formular" method="post" action="#" onsubmit="return
> tjek()">
I Strict XHTML har "form"-elementet ikke en "name"-attribut. Den
er "deprecated" i XHTML 1.0 Transitional (og derfor væk i Strict),
og er helt væk i XHTML 1.1 (som bygger på 1.0 Strict).
<URL:
http://www.w3.org/TR/xhtml1/#h-4.10>
> Det virker sådan set fint nok, men da jeg skriver min hjemmeside
> i XHTML ville jeg helst undgå at give formen et name og i stedet
> et id="formular".
Med god grund.
> Hvis jeg ændrer det til id validerer siden godt
> nok, men mit script virker ikke længere.
Hvilken browser bruger du?
Hvordan fejler det? (der må komme en fejlbesked, selvom den skal
slås til i nogle browsere).
> Er der nogen der ved hvordan jeg kan løse dette?
Jeg vil anbefale at bruge XHTML 1.0 Transitional indtil videre,
hvis det er vigtigt at siden er XML. Ellers bare HTML 4.01 Strict.
Ældre browsere (hvilket inkluderer IE 6) forstår slet ikke XHTML,
men fortolker det bare som HTML alligevel. Endnu ældre browsere,
som Netscape 4, hvis man er tvunget til at tage hensyn til den,
forstår kun "name"-attributten alligevel.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'