<SCRIPT language=JavaScript1.2> function check_fnavn(f) { var x = f.fnavn.value
if (!x) { alert(\"Du skal indtaste dit fornavn\"); f.fnavn.focus(); return false; } else if (x) { var x = x + \"q\"; if (trim(x) == \"q\") { alert(\"Du skal indtaste dit fornavn\"); f.fnavn.focus(); } return false; } else { return true; } } </SCRIPT>
Du bruger f somom det var form objektet, men det er form elementet fnavn. Brug this.form istedet for blot this . <input class=\"field\" type=\"text\" name=\"fnavn\" size=\"20\" maxlength=\"20\" tabindex=\"1\" onBlur=\"check_fnavn(this.form)\">
<ole> Nej, hoejrup - for hans kald, der ligger i input-elementet, hedder: onBlur=\"check_fnavn(this)\". \'this\' refererer til elementet, det ligger i. Derfor refererer \'f\' oppe i funktionen altså også direkte til elementet. Han kunne gøre, som jakoba skriver - eller han kunne beholde sit oprindelige kald og så skrive om i funktionen. Hvor der står \'f.fnavn\' skal der blot stå \'f\'. Man kan argumentere for og imod de to måder at referere på. Jakoba\'s er mere \'generisk\' - sådan at forstå, at han lettere vil kunne udvide funktionen til også at behandle andre formelementer, der måtte blive ønsket på et senere tidspunkt. Min metode en anelse slankere og - finder jeg - mere \'sexy\'. Hvis man er \'sikker\' på, funktionen ikke skal udvides senere, synes jeg, min måde er lidt mere elegant. Det handler dog i høj grad om \'kode-skoler\' og æstetik - krydret med lidt religion - om man holder strikt på, at det generiske ubetinget og altid vejer tungest :) /mvh
Jeg må indrømme at min begrundelse er mere prosaisk. Ved at ændre til this.form slipper vi for at ændre mere end eet sted, det giver større chance for at det lykkes :-))
*LooOooL* Nuvel, det er dog en ofte forekommende diskussion. Jeg har sågar netop siddet med et eksempel idag på arbejdet. Der havde jeg troet mig \'sikker\' - meeeen så skulle der alligevel ske noget senere, som krævede en reference til et form-element, funktionen ikke kendte, men som den ville kunne finde, hvis den kendte form-objektet. Altså var der pludselig et par kald og en hel del referencer, der skulle ændres. Det var nok det, der inspirerede mig til denne gang script-filosofiske prosa =o) /mvh
olebole> Ok, så Jette1 er en han! Jeg har altid anvendt document, men nu er jeg blevet lidt klogere. Mange tak ole.
/per
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.