Avatar billede ger2001 Novice
13. januar 2004 - 07:26 Der er 8 kommentarer og
1 løsning

hjælp dropdown menu

hej
Mit problem er når jeg klikker på vælg, efter at have åbnet noget andet, åbner den et blankt vindue. Er der en måde at undgå det på? Man kan heller ikke vælge det samme to gange i træk fra menuen. Håber at i kan hjælpe!!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
  <title>Produkten</title>
</head>

<body bgcolor="#013763">
<center><table cellspacing="0" cellpadding="5" border="2" bgcolor="white"><tr>


<td><b><center>test</center></b>
<center><img src="test.jpg" height=100></center>
<Script Language="JavaScript">
<!-- Hide the script from old browsers --
function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}}//--> </SCRIPT>
<FORM NAME="form1">
<SELECT NAME="select" ONCHANGE="window.open(this.options[options.selectedIndex].value,'mywin');" SIZE="1">

    <OPTION SELECTED>Vælg.....</option>
    <OPTION VALUE="brugsvejledning.pdf">Brugsvejledning
    <OPTION VALUE="split.pdf">Splittegning
    <OPTION VALUE="teknisk">Teknisk produktdata</SELECT></td>    
   

</FORM>
</body>
</html>
Avatar billede skovenborg Nybegynder
13. januar 2004 - 18:00 #1
hvis du skriver
if (form.select.options[index].value != "0") så tror javascript jo at du mener at det valgte index har en value på 0. For at det skal virke skal du derfor bare skrive:
<OPTION SELECTED value="0">Vælg.....</option>

Du kunne selvfølgelig også teste om index er 0 - det er jo det første element.
Avatar billede skovenborg Nybegynder
13. januar 2004 - 18:04 #2
og så til det andet spørgsmål:

Grunden til at du ikke kan åbne den samme side to gange er fordi onchange betyder at du ændrer form-elementet - og når du skifter til den samme side som du lige har valgt, så ændrer du jo ikke formen.

Tricket kunne så være at automatisk skifte til det første element - altså den med vælg:
function goto(form) { var index=form.select.selectedIndex
if (index != 0) {
form.select.options[0].selected = true;
location=form.select.options[index].value;}}
Avatar billede ger2001 Novice
14. januar 2004 - 07:17 #3
Jeg synes ikke at jeg kan få det til at virke. Den åbner bare den en side der hedder 0 istedet. Da jeg ikke er ret skrap til programmering kunne du så ikke prøve at sende mig hele siden med de ændringer som du foreslår. tak
Avatar billede skovenborg Nybegynder
14. januar 2004 - 14:19 #4
Okay, her en den fulde side - jeg har også lavet et par rettelser, så det gøres lidt lettere:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
  <title>Produkten</title>
</head>

<body bgcolor="#013763">
<center><table cellspacing="0" cellpadding="5" border="2" bgcolor="white"><tr>


<td><b><center>test</center></b>
<center><img src="test.jpg" height=100></center>
<Script Language="JavaScript">
<!--
function gotoPage(sel) {
sel.options[0].selected = true;
window.open(sel.options[sel.selectedIndex].value,'mywin');
}
//-->
</SCRIPT>
<FORM NAME="form1">
<SELECT NAME="select" ONCHANGE="gotoPage(this);" SIZE="1">

    <OPTION SELECTED>Vælg.....</option>
    <OPTION VALUE="brugsvejledning.pdf">Brugsvejledning
    <OPTION VALUE="split.pdf">Splittegning
    <OPTION VALUE="teknisk">Teknisk produktdata</SELECT></td>   
 

</FORM>
</body>
</html>

Fejlen før - som jeg havde overset - var at du slet ikke kaldte funktionen goto (som er et såkaldt "reserved keyword" hvilket betyder du ikke kan bruge det som navn i javascript. Nu burde det virke som ventet :-)

Hvis der opstår problemmer med at man alligevel kan komme ind på den tomme side kan du tilføje dette til dit script:
function gotoPage(sel) {
if (sel.selectedIndex != 0)
{
sel.options[0].selected = true;
window.open(sel.options[sel.selectedIndex].value,'mywin');
}
}
--- altså ligesom før :-)
Avatar billede ger2001 Novice
14. januar 2004 - 20:15 #5
Øhh Jeg ved ikke om det bare er mig men den åbner bare et blankt vindue lige meget hvad jeg vælger. Fuktionen skulle gerne være som følger:
vælg: intet
Brugsvejledning: Åbner brugsvejledning.pdf
splittegning: åbner split.pdf
Avatar billede skovenborg Nybegynder
14. januar 2004 - 22:15 #6
undskyld - der skal selvfølgelig byttes om på rækkefølgen af de to sætninger:
function gotoPage(sel) {
window.open(sel.options[sel.selectedIndex].value,'mywin');
sel.options[0].selected = true;

}
Avatar billede ger2001 Novice
15. januar 2004 - 07:23 #7
det virker!!
Mange tak skal du have.
Avatar billede skovenborg Nybegynder
15. januar 2004 - 14:13 #8
okay - smider lige et svar så :-)
Avatar billede ger2001 Novice
15. januar 2004 - 15:22 #9
lukker
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

IT-JOB

Capgemini Danmark A/S

Client Partner

Rambøll Management Consulting

Senior Software Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst

Capgemini Danmark A/S

AI Data Architect