Avatar billede lars-k Nybegynder
27. maj 2003 - 09:34 Der er 7 kommentarer og
1 løsning

Problem med layer i Netscape

Hvorfor virker dette ikke i Netscape 4??

Når jeg klikker på knappen bliver hele formen skjult - virker fint, bare ikke i Netscape 4.

Kan en eller anden komme med lidt indspark, så er det go-fint:-)


Kode:
************************************

<html>
<head>
<script type="text/javascript">
<!--
function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)      //NN4+
    {
      document.layers[szDivID].visibility = iState ? "show" : "hide";
    }
    else if(document.getElementById)      //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.visibility = iState ? "visible" : "hidden";
    }
    else if(document.all)    // IE 4
    {
        document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
    }
}
// -->
</script>
</head>

<div id="formular" style="visibility:hidden;">
<form name="testForm" action="http://www.tv2.dk">
<input name="input" value="Noget input">
<input type=button value="Tryk mig" OnClick="
    toggleBox('vent',1);
    toggleBox('formular',0);
    submit();
">
</form>
</div>

<div id="vent" style="position:absolute;top:0;visibility:hidden;">
<h1>Vent et øjeblik...</h1>
</div>
</html>
Avatar billede bamzen Nybegynder
27. maj 2003 - 09:36 #1
prøve lige med visible og hidden i stedet for show og hide

mener de ændrede det i en af ns 4 versionerne
Avatar billede lars-k Nybegynder
27. maj 2003 - 09:41 #2
....virker ikke - se lige bort fra style=....... i det første div tag, da denne selvfølgelig ikke skal være der.
Avatar billede Slettet bruger
27. maj 2003 - 09:50 #3
I NS4 bruger man layers i stedet for divs. I øvrigt skal du ikke være så sikker på, at dette overhovedet kan lade sig gøre i denne browser, men prøv:

<div id="formular">
<layer id="formular">
<form name="testForm" action="http://www.tv2.dk">
<input name="input" value="Noget input">
<input type=button value="Tryk mig" OnClick="
    toggleBox('vent',1);
    toggleBox('formular',0);
    submit();
">
</form>
</layer>
</div>
Avatar billede Slettet bruger
27. maj 2003 - 09:51 #4
Og "vent" skal selvfølgelig også være et lag:

<div id="vent" style="position:absolute;top:0;visibility:hidden;">
<layer id="vent" style="position:absolute;top:0;visibility:hide;">
<h1>Vent et øjeblik...</h1>
</layer>
</div>
Avatar billede lars-k Nybegynder
27. maj 2003 - 10:01 #5
....phoenixv

Hmmm, jeg kan få det til at virke, men selve formen bliver ikke skjult i IE nu...
Avatar billede Slettet bruger
27. maj 2003 - 11:09 #6
Smid et link.

Men prøv evt. at neste således, at div'erne ligger inde i de to layers i stedet for omvendt.
Avatar billede lars-k Nybegynder
28. maj 2003 - 07:36 #7
>>phoenixv

Beklager den lange ventetid - der kom lige noget i vejen.....

Jeg har prøvet at neste omvendt som du foreslog - og det virkede!!!

Smid lige et spørgsmål, så du kan indkassere point. Tak for hjælpen.

lars-k
Avatar billede Slettet bruger
28. maj 2003 - 12:21 #8
Svar
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