Avatar billede lasseq Nybegynder
29. juni 2003 - 14:18 Der er 8 kommentarer og
1 løsning

onClick-hændelse til Server.Execute-funktion

Hej!
Jeg er ved at lave et dynamisk menusystem, der skal fungere sådan, at når man klikker på en hovedmenu, skal der udløses en funktion, så eventuelle undermenuer udskrives. Det er i sig selv ikke besværligt -- problemet er bare, at få undermenuerne til at blive "presset ind" under den hovedmenu, der er klikket på.
---
Et eksempel - der er klikket på "Hovedmenu 1"

<a href="link1"> Hovedmenu 1</a>
    <a href="undermenulink1>Undermenu</a>
<a href="link2">Hovedmenu 2<7a>
---
Det er sådan foroven, det gerne måtte se ud, når der er klikket. Jeg forestiller mig, at man kan lave en form for onClick-funktion, der på en eller anden måde aktiverer ASP-metoden Server.Execute("menu.asp?submode=undermenu"), hvor submode=undermenu står for at udskrive selve undermenuerne.

Hvordan kan det lade sige gøre? Hvilken onClick-hændelse skal der bruges?

Venlig hilsen
Lasse Quorning
Avatar billede law2 Nybegynder
29. juni 2003 - 14:44 #1
Med mindre du arbejder med asp.net eller remote scripting kan du ikke uden et roundtrip til serveren kalde en ASP funktion. Dvs. hvis du trykker på en hovedmenu skal siden genloades for at få vist undermenuerne. Det er sjældent hensigtsmæssigt.

Ville det ikke være bedre at placere div tags rundt om undermenuerne og lade hovedmenuerne henholdsvis vise og skjule undermenuerne vha. et javascript?
Avatar billede lasseq Nybegynder
29. juni 2003 - 14:59 #2
Jo - det kan godt være...
Har du et konkret eksempel på dette?

Venlig hilsen Lasse
Avatar billede cool_casper Nybegynder
29. juni 2003 - 15:04 #3
Jeg har eks. på en menu liggende på http://www.visitme.dk/morgen
Er det den slags menu du mener???
Avatar billede cool_casper Nybegynder
29. juni 2003 - 15:06 #4
Avatar billede law2 Nybegynder
29. juni 2003 - 15:54 #5
<a href='java script:showsubmenu(sub1)'>main 1</a><br>
<div style="display:none;" id=sub1 name=sub1>
&nbsp;<a href='#'>sub 1-1</a><br>
&nbsp;<a href='#'>sub 1-2</a><br>
&nbsp;<a href='#'>sub 1-3</a><br>
</div>
<a href='java script:showsubmenu(sub2)'>main 2</a><br>
<div style="display:none;" id=sub2 name=sub2>
&nbsp;<a href='#'>sub 2-1</a><br>
&nbsp;<a href='#'>sub 2-2</a><br>
&nbsp;<a href='#'>sub 2-3</a><br>
</div>
<script language=javascript>
<!--
var activesub=sub1;
function showsubmenu(menu){
    activesub.style.display="none";
    menu.style.display="inline";
    activesub=menu;
}
-->
</script>
Avatar billede lasseq Nybegynder
29. juni 2003 - 17:45 #6
Ja det er sådan noget! Problemet er bare det hele skal være dynamisk dvs. der ikke på forhånd er bestemt antal hovedmenuer og submenuer.

Hvilken funktion gør display:inline? Ved du også forskellen på "visibility:hidden" og "display:none"?
Avatar billede law2 Nybegynder
29. juni 2003 - 19:05 #7
Bruger du visibility vil undermenuerne stadig optage plads imellem hovedmenuerne, det sker ikke hvis du bruger display.

Har du oplysninger omkring menupunkterne liggende i en database skal du jo bare lade din asp side opbygge hele menuen inden siden vises.
Avatar billede lasseq Nybegynder
29. juni 2003 - 19:11 #8
Tak for det!
Jeg har nu lavet det færdigt.

Venlig hilsen
Lasse Quorning
Avatar billede law2 Nybegynder
29. juni 2003 - 20:07 #9
Cool - glad for at kunne hjælpe
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