Jesper TMedlem sedan nov. 20017 058 inlägg
Jag lägger detta i <head>
<script language="Javascript">
var n=1
function hideShow(){
n=n*-1; vis = (n==1)? "hidden" : "visible";
if(document.all){document.all("lager").style.visibility=vis;}
if(document.getElementById){document.getElementById("lager").style.visibility=vis;}
if(document.layers){document.layers["lager"].visibility=vis;}
}
</script>
och så öppnar jag lagret med:
<a href="#bottom" onclick="javascript:hideShow();" title="Lägg till">Lägg till</a>
<div id="lager" style="visibility:hidden;">
<form action="skicka.asp" method="post"> <input type="text" name="texten">
<input type="submit" name="submit"></form>
</div>
1.) Det funkar att öppna och stänga så länge jag inte klickat på "submit", men när jag gjort det så går det inte att öppna och stänga lagret :(
Vad kan detta bero på?
2.) Går det att lägga länken i en iframe och öppna ett lager som ligger i "grundfönstret"?
Jesper TMedlem sedan nov. 20017 058 inlägg
JojoxxMedlem sedan juni 20004 306 inlägg
Jag säger det en gång till; detta är inte ett lager :) Definitionen lager brukar vara att det är ett löst flytande lager på sidan som alltså inte ockuperar någon plats i det vanliga dokument-flödet. Detta definieras i CSS med position:absolute;. När du skall ge denne egenskap ett värde i Netscape 4.x så är det inte visible/hidden utan show/hide.
Med detta i åtanke kan det se ut så här;
<script language="Javascript">
var visible=(document.layers)?'show':'visible';
var hidden=(document.layers)?'hide':'hidden';
var vis=hidden;
function hideShow(){
vis=(vis==visible)?hidden:visible;
if(document.all){document.all("lager").style.visibility=vis;}
if(document.getElementById){document.getElementById("lager").style.visibility=vis;}
if(document.layers){document.layers["lager"].visibility=vis;}
}
</script>
<a href="#bottom" onclick="hideShow();" title="Lägg till">Lägg till</a>
<div id="lager" style="position:absolute; visibility:hidden;">
<form action="skicka.asp" method="post"><input type="text" name="texten">
<input type="submit" name="submit"></form>
</div>
Jesper TMedlem sedan nov. 20017 058 inlägg
Tack! Är det någon som har någon idé om fråga 2?
colioneMedlem sedan juni 20013 386 inlägg
Jo det skall gå alldeles utmärkt du behöver bara referera till sidan som iframen ligger i.
Jesper TMedlem sedan nov. 20017 058 inlägg
Men efter som att det i länken står onclick="hideShow();", så säger den att funktionen saknas, skall man lägga funktionen i iframen istället? Och <div id="lager"> på själva huvudsidan?
colioneMedlem sedan juni 20013 386 inlägg
Orkar inte sitta och grunka med en iframe för tillfället, men det låter som om det är rätt det du säger, du måste dock lägga till parent. innan document, tror jag...
JojoxxMedlem sedan juni 20004 306 inlägg
Den glömde jag :)
Ligger länken i en iframe på dokumentet som innehåller lagret och javascript-koden blir länken;
<a href="parent.hideShow();">Just do it</a>
Jesper TMedlem sedan nov. 20017 058 inlägg
Ok, och jag slipper lägga in funktionen i iframen eller?
JojoxxMedlem sedan juni 20004 306 inlägg