Avatar billede extream Nybegynder
09. februar 2004 - 14:18 Der er 4 kommentarer og
1 løsning

Hendelse efter om lag er synlig eller ej

Jeg har 2 textarea et på siden og et i et lag. Jeg skal opdater min db med følgende:
Hvis laget er synlig er det textarea i laget som skal opdateres hvis ikke er det det på siden.
Men hvordan finder jeg udaf om laget er synlig eller ej.

Kode:
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
  document.xx.showhide.value = (v=='visible') ? "hide" : "show";

}
//-->
</script>

<%
If lag = synlig then
tekst = col1Tekstadv
else
tekst = col1Tekst
end if
strSQL_textboks = "UPDATE (heading) SET col2Tekst='" & tekst & "' WHERE heading.headingID=" & request.form("idcolumn")
%>

<div id="col1layer" style="position:absolute; left:16%; top:35%; width:358px; height:204px; z-index:1; visibility: hidden;">
  <textarea name="col1Tekstadv" cols="55" rows="11"><%=Rs("col1Tekst")%></textarea>
</div>
Avatar billede nute Nybegynder
09. februar 2004 - 15:43 #1
du kan ikke, via ASP, tjekke om et lag er synlig eller ikke. dét du kan gøre, er at lave ett hidden field der indeholder info om dit lag er synlig eller ikke, fx:

<div id="col1layer" style="position:absolute; left:16%; top:35%; width:358px; height:204px; z-index:1; visibility: hidden;">
  <textarea name="col1Tekstadv" cols="55" rows="11"><%=Rs("col1Tekst")%></textarea>
</div>
<input type="hidden" name="col1layerhidden" id="col1layerhidden" value="hidden">

derefter kan du i dit javascript ændre værdien til dit hidden field på samme måde som du ændrer visibility til dit lag

/nute
Avatar billede extream Nybegynder
09. februar 2004 - 17:38 #2
Lige netop men det er faktisk det som er problemet hvordan ændre jeg JS så jeg kan sige if lag = synlig then
Avatar billede nute Nybegynder
09. februar 2004 - 17:49 #3
nå kan jeg se at du har fået DreamWeaver til at lave din kode for dig ... det er noget uoverskueligt rod de laver. denne linje:

document.xx.showhide.value = (v=='visible') ? "hide" : "show";

ser ikke helt ud til at det er DW der har lavet. er den din ?

hvordan skjuler/viser du dit layer ? jeg kunne forestille mig at, hvis du kalder dit hiddenfield det samme som dit layer, men med 'hidden' som suffix, så kunne du måske skrevet om din 'showhide' function til dette:


function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
    if ((obj=MM_findObj(args[i]))!=null)
    {
        v=args[i+2];
        if (obj.style)
        {
            obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v;
        }
        obj.visibility=v;
        document.getElementById( obj.id + "hidden" ).value = v
    }
}
Avatar billede nute Nybegynder
27. februar 2004 - 18:56 #4
har du fået svar ?
Avatar billede extream Nybegynder
25. oktober 2004 - 14:30 #5
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
Kurser inden for grundlæggende programmering

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