Avatar billede dingkee Nybegynder
22. november 2006 - 21:45 Der er 7 kommentarer og
1 løsning

Drop Down, vælg automatisk

Hej...

Jeg har en drop down menu, og vil gerne have at når jeg vælger et punkt i den, så går den direkte til det link der er valgt...

Hvordan gør jeg det??
Avatar billede udvikler Nybegynder
22. november 2006 - 21:50 #1
<html>

<head>
<title>menu</title>
<script>
<!--
function land(ref, target)
{
lowtarget=target.toLowerCase();
if (lowtarget=="_self") {window.location=loc;}
else {if (lowtarget=="_top") {top.location=loc;}
else {if (lowtarget=="_blank") {window.open(loc);}
else {if (lowtarget=="_parent") {parent.location=loc;}
else {parent.frames[target].location=loc;};
}}}
}
function jump(menu)
{
ref=menu.choice.options[menu.choice.selectedIndex].value;
splitc=ref.lastIndexOf("*");
target="";
if (splitc!=-1)
{loc=ref.substring(0,splitc);
target=ref.substring(splitc+1,1000);}
else {loc=ref; target="_self";};
if (ref != "") {land(loc,target);}
}
//-->
</script>
</head>

<body>

<form action="dummy" method="post">
    <select name="choice" size="1" onChange="jump(this.form)">
<option value="">CHOOSE A LINK</option>
<option value="http://www.yahoo.com">YAHOO</option>
<option value="http://www.hotbot.com">HOTBOT</option>
<option value="">- - - - - - - - - -</option>
<option value="http://www.microsoft.com">MICROSOFT</option>
<option value="http://www.netscape.com">NETSCAPE</option>
    </select>
</form>

</body>

</html>
Avatar billede dingkee Nybegynder
22. november 2006 - 22:17 #2
cool tak det virker :D
Avatar billede udvikler Nybegynder
22. november 2006 - 22:19 #3
;-)
Avatar billede thesurfer Nybegynder
22. november 2006 - 23:05 #4
Hvad med bare at bruge:

    <select name="choice" size="1" onChange="if (this.value != '') window.location.href = this.value">

Andet skal der ikke til.. og det kan garanteret gøres kortere.. :-)
Avatar billede thesurfer Nybegynder
22. november 2006 - 23:08 #5
..og det giver ikke rigtig mening, at sende reference til formen afsted, for derefter at hente værdien af select'en..

Så er det bedre at gøre sådan her:

onchange="this.value"

og:

function jump(valg)
{
splitc=valg.lastIndexOf("*");
...
}
Avatar billede thesurfer Nybegynder
22. november 2006 - 23:14 #6
Men anywayz..

Scriptet fra 22/11-2006 21:50:14 gør det muligt at åbne linket på forskellige måder..

Den tager et input der ligner "http://www.adresse.dk*_blank", som fortæller den, at den skal åbne adressen "http://www.adresse.dk" i et nyt vindue ("_blank")..

Jeg synes at det er nemmere at gøre sådan her:

loc = valg;
target = "_self";
splitc = valg.split("*");
if (splitc.length == 2) /* muligvis 1.. kan aldrig huske det.. */
{
loc = splitc[0];
target = splitc[1];
}
land(loc,target);
Avatar billede thesurfer Nybegynder
22. november 2006 - 23:15 #7
PS: Jeg har ikke testet det, så der kan godt være småfejl.. :-)
..hvis man nu skulle beslutte sig for at bruge koden..
Avatar billede thesurfer Nybegynder
22. november 2006 - 23:17 #8
Hmm... umiddelbart ville jeg sige, at der er en fejl i "function land"..

"loc" er ikke defineret eller instantieret nogen steder, men bruges alligevel..

Der skulle nok have stået "ref" i stedet for "loc", for det er jo "ref" der indeholder urlen til siden der skal loades..
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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