03. maj 2004 - 10:21Der er
8 kommentarer og 1 løsning
Mac Validate virker ikke
Jeg bruger bla. denne her til at valider en kontakt form, og det virker som det skal på nær lige i Explorer browseren til Mac her går det helt galt. Håber nogen kan hjælpe.
function validate() { document.getElementById('errorTD').className=""; document.getElementById('errorTD').innerHTML="";
var forms = document.forms['cont'].elements; for(i=0; i<(forms.length-1); i++) { if(!forms[i].value == "") { document.getElementById('errorTD_'+i).innerHTML=""; } }
for(i=0; i<forms.length; i++) { if(forms[i].value == "") { document.getElementById('errorTD_'+i).innerHTML='<img src="alert.gif" width="20" height="20" alt="Alert" border="0">'; // På hen her linie går det totalt i Explorer til Mac. } }
For det første gør du noget stærkt frarådet: at sætte et className on-the-fly ,-(
For det andet sætter du en innerHTML, hvor det nærmere ser ud til, at du skulle sætte en visibility til at være vist og ikke skjult ...
Jeg ville have den errorTD til at have en visibility:hidden og det samme på alle errorTD_x og så have fejl-billedet inde i altid, og så bare sætte visibility = 'visible' i funktionen i stedet for at smide rundt med en masse innerHTML !-)
rownving: Det er netop det som jeg har i tankerne at gøre hvis jeg ikke kan få det til at virke. Men hvorfor er det stærkt frarådet at sætte cassName onTheFly?
olebole: Det der sker er at den udskriver hele forløkken men dog kun med et fælt indholdende billedet. Altså bliver feltet med billedet meget højt, man kan sige at feltet bliver forms.length højt men kun med et billede.
Det er sært at det kun er i den browser som det fejler i! Men det kan godt være at jeg bliver nødtil at bruge visible i stædet.
IE til Mac er nok den dårligste browser, der er lavet og har altid været det - så det undrer ikke spor, hvis der sker mærkelige ting ... tværtimod :)
Jeg forstår dog stadig ikke, hvad det er, der sker.
Klasseskift er meget dårligt performende. Browseren skal konstruere et helt nyt DOM-træ og reevaluere det. Skift i stedet de enkelte properties på elementets style-object. /mvh
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.