Avatar billede basicq Nybegynder
03. maj 2004 - 10:21 Der 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.
        }
    }

    if(!forms[0].value == "" && !forms[1].value == "" && !forms[2].value == "" && !forms[3].value == "" && !forms[4].value == "" && !forms[5].value == "")
    {
        regExpCheck();
    }
}
Avatar billede olebole Juniormester
03. maj 2004 - 18:10 #1
<ole>

Det lyder zq sært ... men kunne du ikke fortælle, hvad det er, der går galt?

/mvh
</bole>
Avatar billede roenving Novice
04. maj 2004 - 02:45 #2
Det virker også som en sær konstruktion ...

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 !-)
Avatar billede basicq Nybegynder
04. maj 2004 - 20:29 #3
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.
Avatar billede olebole Juniormester
04. maj 2004 - 21:03 #4
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
Avatar billede roenving Novice
04. maj 2004 - 21:03 #5
At sætte className on-the-fly frarådes, fordi browseren så skal beregne hele det billede den viser dig forfra ...
Avatar billede basicq Nybegynder
05. maj 2004 - 08:18 #6
Jeg siger tak for jeres respons. olebole jeg skal tag et screen dump af det så du kan se hvad der sker. Jeg vender tilbage i aften.
Avatar billede basicq Nybegynder
18. juni 2004 - 23:40 #7
Lad min få nogle svar, så jeg kan lukke.

Takker/
Avatar billede roenving Novice
18. juni 2004 - 23:46 #8
Velbekomme '-)
Avatar billede roenving Novice
27. juni 2004 - 15:04 #9
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester