Simon K <simonmajami@gmail.com> writes:
> Scriptet virker fint i IE. Jeg vil dog også gerne have det til at du
> i Mozilla - og så skal man jo overholde visse standarder.
Jeg håber ikke det er den eneste grund du har til at overhold standarder!
(fx hjælper det også os der hverken bruger IE eller Mozilla).
> <script type="text/javascript">
> function checkif()
> {
> var nrstr='-37,1-37,2-37,3-36,4-';
> var mynr='-'+document.form1.aargang.value+','+document.form1.nr.value+'-';
Her ville jeg anbefale at bruge
document.forms['form1'].elements['aargang'].value
i stedet for den korte form:
document.form1.aargang.value
da det 1) er standard og 2) virker overalt. Den korte form virker også
næsten overalt, men det er en god vane at få under alle omstændigheder.
Din test er opfindsom, men ikke helt sikker nok. Hvis brugeren fx indtaster
-37 og 3, så bliver den også accepteret. Eller hvis han er rigtig ond
og skriver LALALALALALA-37 og 3-GRIMMEORDHER, så vil det også slippe igennem.
Det er bedre at teste på præcist det du vil:
var elems = document.forms['form1'].elements
var aargang = Number(elems['aargang'].value);
var nr = Number(elems['nr'].value);
var ok = (aargang == 37 && (1 <= nr && nr <= 3)) ||
(aargang == 36 && nr == 4);
Det er helt sikkert mere læseligt når du skal pille ved det om et
halvt år.
(Man kan også lave sjove ting med tallene:
var ok = (1 <= nr && nr <= 4) && ((aargang + (nr == 4)) == 37);
men det er igen ikke så læseligt når man kommer tilbage til det senere.
Og det gør man!)
> var is_nr_ok=nrstr.indexOf(mynr);
> if (is_nr_ok!=-1)
> {
> document.getElementById('div_rest').style.display = "none";
Her ville det være en fordel med et link til siden, så vi selv kunne
prøve at finde ud af hvad fejlen var. Hvis det fx var fordi der ikke
er et element med id="div_rest" (men fx bare name="div_rest"), så
ville det sikkert give en fejl. Men det er umuligt at gætte på, uden
at se siden.
Jeg kan ikke umiddelbart se noget forkert ved scriptet, så jeg gætter
på at det er samspillet mellem side og script der er problemet.
/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.'