Tilretning af ASP menu version 2
Jeg har fået tilrettet noget menu som er relateret til spørgsmål http://www.eksperten.dk/spm/606899 , men har et par ønsker mere:1. I filen red.asp kan man rette i menupunkter, men det er lidt uhensigtsmæssigt at den vælger det øverste pånkt på listen under pladsering. Det er lidt smartere at den vælger det man har valgt i forvejen, jeg har prøvet ændre lidt i koden men uden held.
2. Her lidt der relaterer til det tidligere spørgsmål. Busschou
du skrev at det du lavede virkede med uanset hvor mange undermenuer. Jeg testede det om aftenen men det ser ud som om at hvis der er 3 niveauer går det galt, men det kan være det er mig.
3. Dette er kun hvis det kan klade sig gøre og du gider: kan man når man har klikket på et menu punkt lave det sådan at skriften eventuelt er fed og har en anden farve. Jeg har prøvet med a.active etc, men det virker ikke helt efter hensigten idet når du klikker på et andet sted på siden fjernes "stylen" på det active link.
Nedenfor er koden i filen red.asp:
<!--#Include File="../inc.asp"-->
<%
ID = Request.QueryString("ID")
%>
<HTML>
<HEAD>
<TITLE>Redigér menupunkt</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<%
LavDatabase Conntemp
SQL = "SELECT ID, Navn, Link, Order, Target FROM Menu WHERE ID = " & ID & ""
Call OpenRS(Conntemp,SQL,RS)
%>
<TABLE WIDTH="100%">
<TR><TD COLSPAN="2"><A HREF="opret.asp">Tilføj nyt menupunkt</A></TD></TR>
<TR><TD COLSPAN="2"><HR></TD></TR>
<FORM ACTION="send.asp" METHOD="POST">
<TR><TD>Navn:</TD><TD><INPUT TYPE="HIDDEN" NAME="ID" VALUE="<%=RS("ID")%>"><INPUT TYPE="TEXT" NAME="Navn" VALUE="<%=RS("Navn")%>"></TD></TR>
<TR><TD>Link:</TD><TD><INPUT TYPE="TEXT" NAME="Link" VALUE="<%=RS("Link")%>"></TD></TR>
<TR><TD>Target:</TD><TD><INPUT TYPE="TEXT" NAME="Target" VALUE="<%=RS("Target")%>"></TD></TR>
<TR><TD>Sortering:</TD><TD><INPUT TYPE="TEXT" NAME="Order" VALUE="<%=RS("Order")%>"></TD></TR>
<TR><TD>Pladsering:</TD><TD>
<SELECT NAME="MenuID">
<OPTION VALUE="0">Hovedmenu</OPTION>
<OPTION>----------------</OPTION>
<%
Function BygUnderMenu(MenuID)
UnderSQL = "SELECT ID, Navn, Link FROM Menu WHERE MenuID = " & MenuID & " ORDER BY [Order]"
Call OpenRS(Conntemp,UnderSQL,UnderRS)
While Not UnderRS.EOF
Response.Write "<OPTION VALUE=""" & UnderRS("ID") & """>" & Level & UnderRS("Navn") & "</OPTION>"
If CountSubs(UnderRS("ID")) > 0 Then
Level = Level + Level
BygUnderMenu UnderRS("ID")
End If
UnderRS.MoveNext
Wend
End Function
Function CountSubs(MenuID)
CountSQL = "SELECT ID FROM Menu WHERE MenuID = " & MenuID & ""
Call OpenRS(Conntemp,CountSQL,CountRS)
CountSubs = CountRS.RecordCount
End Function
LavDatabase Conntemp
SQL = "SELECT ID, Navn, Link FROM Menu WHERE MenuID = 0 ORDER BY [Order]"
Call OpenRS(Conntemp,SQL,RS)
Level = " "
RS.MoveFirst
While Not RS.EOF
Response.Write "<OPTION VALUE=""" & RS("ID") & """>" & RS("Navn") & "</OPTION>"
If CountSubs(RS("ID")) > 0 Then
BygUnderMenu RS("ID")
End If
Level = " "
RS.MoveNext
Wend
LukDatabase Conntemp
%>
</SELECT>
</TD></TR>
<TR><TD COLSPAN="2"><INPUT TYPE="SUBMIT" VALUE="Redigér"> <INPUT TYPE="BUTTON" VALUE="Slet" OnClick="java script:location.href='slet.asp?ID=<%=ID%>'"></TD></TR>
</FORM>
</TABLE>
</BODY>
</HTML>
