Avatar billede jes-eu Nybegynder
19. marts 2004 - 23:49 Der er 11 kommentarer og
1 løsning

Undermenu fold ud

Hvorfor fungerer det her ikke:

Jeg har følgende i headeren:

<SCRIPT LANGUAGE=javascript>
        var menu_item = <%=rss("Antal")%>

            function fold_menu(active)
                {
                    for (i=1; i < menu_item+1; i++)
                    {
                    if (i!=active)
                    {
                    document.all("sub"+i).style.display="NONE"
                }
            else
                    {
                    document.all("sub"+active).style.display="BLOCK"
                    }
                }
            }
    </SCRIPT>

Og her er så det der skal foldes ud:

    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=<%=submenu("page_id")%>&menu=<%=submenu("menu_id")%>" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu"><%=submenu("submenu_name")%></a>
<!-- Submenuen vises -->   
    <%CALL opentbl("select * from Page WHERE submenu_id="&Submenu_id&" ORDER BY rating, page_name", pagemenu)%>
    <DIV id="sub1" style="Display:'NONE';">
    <%do while not pagemenu.eof%>
    <a href="information.asp?Page=<%=pagemenu("page_id")%>&menu=<%=pagemenu("menu_id")%>" class="menu"><%=pagemenu("page_header")%></a>
    <%pagemenu.movenext
            loop
    call closetbl(pagemenu)%>
    </DIV>
<!-- Submenuen vises -->   

Datane bliver fint trukket udfra databasen, men den laver følgende fejl:

Fejl: 'document.all(...).style'er null eller ikke et object.

Håber I kan hjælpe
Avatar billede roenving Novice
19. marts 2004 - 23:57 #1
Hvordan ser koden ud, når den er genereret (vis kilde !-)

-- for det har jo ikke det fjerneste med asp at gøre, bortset fra, at du genererer dine javascript-identifiers fra noget, som du har lavet til html/javascript med asp ...
Avatar billede jes-eu Nybegynder
20. marts 2004 - 00:20 #2
<html><!-- InstanceBegin template="/Templates/Webside.dwt.asp" codeOutsideHTMLIsLocked="false" -->
<head>

<!-- ImageReady Preload Script (menu.psd) -->
<SCRIPT TYPE="text/javascript">
<!--

function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}

function changeImages() {
    if (document.images && (preloadFlag == true)) {
        for (var i=0; i<changeImages.arguments.length; i+=2) {
            document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
        }
    }
}

var preloadFlag = false;
function preloadImages() {
    if (document.images) {
        quickmenu_01_Frem_over = newImage("images/quickmenu_01-Frem_over.gif");
        quickmenu_01_Soeg_over = newImage("images/quickmenu_01-Soeg_over.gif");
        quickmenu_01_Printer_over = newImage("images/quickmenu_01-Printer_over.gif");
        quickmenu_01_kontakt_over = newImage("images/quickmenu_01-kontakt_over.gif");
        quickmenu_01_Foretrukne_over = newImage("images/quickmenu_01-Foretrukne_ove.gif");
        quickmenu_01_Home_over = newImage("images/quickmenu_01-Home_over.gif");
        quickmenu_01_Tilbage_over = newImage("images/quickmenu_01-Tilbage_over.gif");
        preloadFlag = true;
    }
}

// -->
</SCRIPT>

<!-- Database connection and META-Tag-->
<title>Forside Web Hosting</title><meta name='keywords' content='Forside Web Hosting'><meta name='description' content='Forside Web Hosting'>
    <SCRIPT LANGUAGE=javascript>
        var menu_item = 39

            function fold_menu(active)
                {
                    for (i=1; i < menu_item+1; i++)
                    {
                    if (i!=active)
                    {
                    document.all("sub"+i).style.display="NONE"
                }
            else
                    {
                    document.all("sub"+active).style.display="BLOCK"
                    }
                }
            }
    </SCRIPT>
<link href="Includes/style.css" rel="stylesheet" media="screen">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body ONLOAD="preloadImages();">
<table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
  <tr valign="top" class="top">
    <td height="144" colspan="2"><img src="Images/Grafik/top.jpg" width="241" height="88"></td>
    <td>&nbsp;</td>
  </tr>
  <tr valign="top" class="top">
    <td height="25" colspan="2" class="menu-top">
    <a href="default.asp?menu=1&page=1" class="menu">Home</a>&nbsp;|&nbsp;
   
                                       
                                        <a href="information.asp?Page=41&menu=2" class="menu">Om Webdesign</a>&nbsp;|&nbsp;
                                       
                               
                                       
                                        <a href="information.asp?Page=42&menu=3" class="menu">Web Design</a>&nbsp;|&nbsp;
                                       
                               
                                       
                                        <a href="information.asp?Page=43&menu=4" class="menu">Grafisk Design</a>&nbsp;|&nbsp;
                                       
                               
                                       
                                        <a href="information.asp?Page=44&menu=5" class="menu">Multimedie Design</a>&nbsp;|&nbsp;
                                       
                               
                                       
                                        <a href="information.asp?Page=45&menu=6" class="menu">Web Hosting</a>&nbsp;|&nbsp;
                                       
                               
                                       
                                        <a href="information.asp?Page=46&menu=7" class="menu">Regnskabssystemer</a>&nbsp;|&nbsp;
                                       
                               
                                       
                                        <a href="information.asp?Page=47&menu=8" class="menu">Referencer</a>&nbsp;|&nbsp;
                                       
                               
       
    </td>
    <td class="menu-top" align="right">
       
    <script language="JavaScript">
               
        var now = new Date();
        var monthName = now.getMonth() + 1;var dayName = now.getDay() + 1;
        var dayNumber = now.getDate();if(dayName==1) Day = "Søndag";
        if(dayName==2) Day = "Mandag";if(dayName==3) Day = "Tirsdag";
        if(dayName==4) Day = "Onsdag";if(dayName==5) Day = "Torsdag";
        if(dayName==6) Day = "Fredag";if(dayName==7) Day = "Lørdag";
        if(monthName==1) Month="Januar";if(monthName==2) Month="Februar";
        if(monthName==3) Month="Marts";if(monthName==4) Month="April.";
        if(monthName==5) Month="Maj";if(monthName==6) Month="Juni";
        if(monthName==7) Month="Juli";if(monthName==8) Month="August";
        if(monthName==9) Month="September";if(monthName==10) Month="Oktober";
        if(monthName==11) Month="November";if(monthName==12) Month="December";
        document.open();document.write( Day + " D. " + dayNumber + " " + Month);
    </script>   
    </td>
  </tr>
  <tr valign="top">
    <td width="160" class="menuen">
        <!-- ImageReady Slices (quickmenu.psd) -->
<IMG NAME="quickmenu_01" SRC="images/quickmenu_01.gif" WIDTH=131 HEIGHT=17 BORDER=0 ALT="" USEMAP="#quickmenu_01_Map">
<MAP NAME="quickmenu_01_Map">
<AREA SHAPE="rect" ALT="Føj til foretrukne" COORDS="121,6,130,16" HREF="#Foretrukne"
    ONMOUSEOVER="changeImages('quickmenu_01', 'images/quickmenu_01-Foretrukne_ove.gif'); return true;"
    ONMOUSEOUT="changeImages('quickmenu_01', 'images/quickmenu_01.gif'); return true;">
<AREA SHAPE="rect" ALT="Kontakt os" COORDS="100,7,110,15" HREF="information.asp?Menu=1&Page=1"
    ONMOUSEOVER="changeImages('quickmenu_01', 'images/quickmenu_01-kontakt_over.gif'); return true;"
    ONMOUSEOUT="changeImages('quickmenu_01', 'images/quickmenu_01.gif'); return true;">
<AREA SHAPE="rect" ALT="Printer venlig version" COORDS="79,6,89,15" HREF="Print.asp?Page=45" target="_blank"
    ONMOUSEOVER="changeImages('quickmenu_01', 'images/quickmenu_01-Printer_over.gif'); return true;"
    ONMOUSEOUT="changeImages('quickmenu_01', 'images/quickmenu_01.gif'); return true;">
<AREA SHAPE="rect" ALT="Søg på websiden" COORDS="59,6,68,15" HREF="search.asp"
    ONMOUSEOVER="changeImages('quickmenu_01', 'images/quickmenu_01-Soeg_over.gif'); return true;"
    ONMOUSEOUT="changeImages('quickmenu_01', 'images/quickmenu_01.gif'); return true;">
<AREA SHAPE="rect" ALT="Frem" COORDS="43,8,51,14" HREF="#frem"
    ONMOUSEOVER="changeImages('quickmenu_01', 'images/quickmenu_01-Frem_over.gif'); return true;"
    ONMOUSEOUT="changeImages('quickmenu_01', 'images/quickmenu_01.gif'); return true;">
<AREA SHAPE="rect" ALT="Tilbage" COORDS="27,8,34,14" HREF="#Back"
    ONMOUSEOVER="changeImages('quickmenu_01', 'images/quickmenu_01-Tilbage_over.gif'); return true;"
    ONMOUSEOUT="changeImages('quickmenu_01', 'images/quickmenu_01.gif'); return true;">
<AREA SHAPE="rect" ALT="Tilbage til forsiden" COORDS="5,5,17,16" HREF="http://www.jobisydvest.dk"
    ONMOUSEOVER="changeImages('quickmenu_01', 'images/quickmenu_01-Home_over.gif'); return true;"
    ONMOUSEOUT="changeImages('quickmenu_01', 'images/quickmenu_01.gif'); return true;">
</MAP>
<!-- End ImageReady Slices -->
<br><img src="Images/Grafik/menu_streg.gif">   


                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=48&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Domænemarked</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=22&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Web Hosting</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=23&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Hoteloversigt</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=25&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Tilvalg</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=26&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Domænetest</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=27&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Bestilling</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=28&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">E-informatik</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=29&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">SMS-Gateway</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=30&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Betalingssytemer</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=31&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Serveroversigt</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=32&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Support</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               

                                       
    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=33&menu=6" onClick="fold_menu(1)" style="Cursor:HAND;" class="menu">Betingelser</a>
<!-- Submenuen vises -->   
   
    <DIV id="sub1" style="Display:'NONE';">
   
    </DIV>
<!-- Submenuen vises -->       
   
    <img src="Images/Grafik/menu_streg.gif"><br>
                                       
                               
<br><br>
<form action="search.asp?menu=6&page1" method="post" name="soeg">
&nbsp;<b>Søgning:</b><br>&nbsp;<input type="submit" class="Form" value="S&oslash;g">
<input name="soegeord" type="text" class="form" value="Indtast Søgeord" size="16">
</form>   
&nbsp;<strong>Antal besøgende:</strong><br>&nbsp;33462





</td>
    <td width="600" class="main">
      <!-- InstanceBeginEditable name="Indhold" -->
     
     
    <h1>Forside Web Hosting</h1>
    Forside Web Hosting
    <!-- InstanceEndEditable --></td>
    <td>&nbsp;</td>
  </tr>
  <tr valign="top" class="bottom">
    <td height="20" colspan="2" valign="middle">&nbsp;<a href="/macromedia/" class="menu">Company </a>&nbsp;|&nbsp; <a href="/sitemap/" class="menu">Site Map </a> |&nbsp; <a href="/help/privacy.html" class="menu">Privacy &amp; Security </a>&nbsp;|&nbsp; <a href="/macromedia/contact/" class="menu">Contact Us </a>&nbsp;|&nbsp; <a href="/help/accessibility.html" class="menu">Accessibility </a>&nbsp;|&nbsp; <a href="/go/report_piracy" class="menu">Report Piracy </a> | <a href="/go/sendfeedback" class="menu">Send Feedback</a></td>
    <td>&nbsp;</td>
  </tr>
</table>

</body>
<!-- InstanceEnd --></html>
Avatar billede roenving Novice
20. marts 2004 - 00:36 #3
De hedder jo allesammen sub1 !-)

-- og den kigger efter sub1 - sub 39, så det kan den ikke finde !-)

Du må lave en tæller, så dine submenuer får en forskellig id (hvilket iøvrigt også er ulovligt -- altså de ens id'er, for id betyder unik identifikator, så der må _kun_ være een af hver !-)

sub = 0
<%do while not menu.eof%>

sub=sub+1

    <img src="Images/Grafik/pil.gif"><a href="information.asp?Page=<%=submenu("page_id")%>&menu=<%=submenu("menu_id")%>" onClick="fold_menu(<%=sub%>)" style="cursor:hand;cursor:pointer" class="menu"><%=submenu("submenu_name")%></a>
<!-- Submenuen vises -->   
    <%CALL opentbl("select * from Page WHERE submenu_id="&Submenu_id&" ORDER BY rating, page_name", pagemenu)%>
    <DIV id="sub<%=sub%>" style="display:'none';">
    <%do while not pagemenu.eof%>
    <a href="information.asp?Page=<%=pagemenu("page_id")%>&menu=<%=pagemenu("menu_id")%>" class="menu"><%=pagemenu("page_header")%></a>
    <%pagemenu.movenext
            loop
    call closetbl(pagemenu)%>
    </DIV>
<%loop%>

-- og så kan du da med fordel ændre en lille smule, så også ikke ie-brugere kan være med:

function changeImages() {
    if (document.images && (preloadFlag == true)) {
        for (var i=0; i<changeImages.arguments.length; i+=2) {
            document.images[changeImages.arguments[i]].src = changeImages.arguments[i+1];
        }
    }
}

var preloadFlag = false;
function preloadImages() {
    if (document.images) {
        quickmenu_01_Frem_over = newImage("images/quickmenu_01-Frem_over.gif");
        quickmenu_01_Soeg_over = newImage("images/quickmenu_01-Soeg_over.gif");
        quickmenu_01_Printer_over = newImage("images/quickmenu_01-Printer_over.gif");
        quickmenu_01_kontakt_over = newImage("images/quickmenu_01-kontakt_over.gif");
        quickmenu_01_Foretrukne_over = newImage("images/quickmenu_01-Foretrukne_ove.gif");
        quickmenu_01_Home_over = newImage("images/quickmenu_01-Home_over.gif");
        quickmenu_01_Tilbage_over = newImage("images/quickmenu_01-Tilbage_over.gif");
        preloadFlag = true;
    }
}

// -->
</SCRIPT>

<!-- Database connection and META-Tag-->
<title>Forside Web Hosting</title><meta name='keywords' content='Forside Web Hosting'><meta name='description' content='Forside Web Hosting'>
    <SCRIPT type="text/javascript" LANGUAGE="javascript">
        var menu_item = 39

            function fold_menu(active)
                {
                    for (i=1; i < menu_item+1; i++)
                    {
                    if (i!=active)
                    {
                    document.getElementById("sub"+i).style.display="none";
                }
            else
                    {
                    document.getElementById("sub"+active).style.display="block";
                    }
                }
            }
    </SCRIPT>

-- så vil den du med alle nogenlunde nye browsere !-)

Vi kobler een af (ie4) men kobler 20 eller 30 på !o]
Avatar billede roenving Novice
20. marts 2004 - 00:37 #4
Iøvrigt er det ikke svært at lave det, så det funker både med den ene og den anden måde at kalde ...
Avatar billede jes-eu Nybegynder
20. marts 2004 - 00:44 #5
har du en ide til et alternativ?
Avatar billede roenving Novice
20. marts 2004 - 00:52 #6
Jo, for det er som sagt ret nemt:

  var menu_item = 39
  var dom = (document.getElementById)?true:false;
  function fold_menu(active){
    for (i=1; i < menu_item+1; i++){
      if (i!=active){
        st = (dom)?document.getElementById("sub"+i).style:document.all["sub"+i].style
        st.display="none";
      }else{
        st = (dom)?document.getElementById("sub"+active).style:document.all["sub"+active].style
        st.display="block";
      }
    }
  }
Avatar billede jes-eu Nybegynder
20. marts 2004 - 01:05 #7
ok hvordan implementerer jeg det i mit script?
Avatar billede roenving Novice
20. marts 2004 - 01:10 #8
Scriptet fra starten med ændringerne:

<script type="text/javascript" language=javascript>
  var menu_item = <%=rss("Antal")%>
  var dom = (document.getElementById)?true:false;
  function fold_menu(active){
    for (i=1; i < menu_item+1; i++){
      if (i!=active){
        st = (dom)?document.getElementById("sub"+i).style:document.all["sub"+i].style
        st.display="none";
      }else{
        st = (dom)?document.getElementById("sub"+active).style:document.all["sub"+active].style
        st.display="block";
      }
    }
  }
</script>
Avatar billede roenving Novice
20. marts 2004 - 01:12 #9
-- og den kan da ovenikøbet forkortes noget:

<script type="text/javascript" language=javascript>
  var menu_item = <%=rss("Antal")%>
  var dom = (document.getElementById)?true:false;
  function fold_menu(active){
    for (i=1; i < menu_item+1; i++){
        st = (dom)?document.getElementById("sub"+i).style:document.all["sub"+i].style;
        st.display=(i==active)?'block':"none";
    }
  }
</script>
Avatar billede jes-eu Nybegynder
12. april 2005 - 00:07 #10
Perfekt, Tak smid et svar.
Avatar billede roenving Novice
12. april 2005 - 00:12 #11
Velbekomme '-)
Avatar billede roenving Novice
26. april 2005 - 08:58 #12
-- 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
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