Avatar billede ohrt Nybegynder
10. oktober 2001 - 10:18 Der er 4 kommentarer og
2 løsninger

Link til fil i drop-down

Jeg har et drop-down script kørende, hvor man ved at vælge eks. Storbritannien så får et britisk site. Scriptet ligger separat (.js) og er som følger:

// Dette array vises i menuen
stekst=new Array()
stekst[0]=\"Select your country\"
stekst[1]=\"&nbsp&nbspDenmark\"
stekst[2]=\"&nbsp&nbspGermany\"
stekst[3]=\"&nbsp&nbspSweden\"
stekst[4]=\"&nbsp&nbspUnited Kingdom\"
stekst[5]=\"&nbsp&nbspInternational\"

// Dette array indeholder hyperlinks
slinks=new Array()
slinks[0]=\"\"
slinks[1]=\"http://dk.xx.com\"
slinks[2]=\"http://de.xx.com\"
slinks[3]=\"http://se.xx.com\"
slinks[4]=\"http://uk.xx.com\"
slinks[5]=\"http://www.xx.com\"

// Denne rutine udfører \'hoppet\' til link\'et
function s_hop(form)
  {
  x = form.sel_coun.selectedIndex;

  // Hvis X ikke er nul, skal der ske et hop til linket
    (x != 0)
    {
    window.location.href = slinks[x];
    }
  }

På websiden har jeg så:

<script>
document.write(\'<FORM NAME=\"country\">\')
document.write(\'<SELECT NAME=\"sel_coun\" class=\"rulle\" onChange=\"s_hop(this.form)\">\');
for (var i=0; i <= stekst.length-1; i++)
{
if (i == 0) 
{
document.write(\'<OPTION SELECTED>\' + stekst[i]);
}
else 
{   
document.write(\'<OPTION>\' + stekst i]);
}
}
document.write \'</SELECT></td></FORM>\');
</script>

Nu kunne jeg godt tænke mig at linke op til en fil i stedet, men der går ged i den. Hvad skal der ske?
Avatar billede Slettet bruger
10. oktober 2001 - 10:36 #1
Hvad mener du helt præcist med at \"linke op til en fil\"? Hvis du mener en relativ sti, fx \"billeder/min-fil.gif\" så skal du huske, at du skal linke ud fra js-filens bibliotek. D.v.s. hvis js-filen ligge i mappen \"js\", html-filen ligger i mappen \"html\", og du vil linke til en fil i mappen \"html\", så skal linket i js-filen hedde \"../html/din-fil.html\".

Men prøv at uddybe dig lidt mere. Hvad går der forresten galt?
Avatar billede nikolajdu Nybegynder
10. oktober 2001 - 10:40 #2
Linke til en fil??? Så skal du vel bare ændre til http://dk.xx.com/minFil.zip

Anyway er der rettet et par fejl her og komprimeret lidt:

<html>
<head>
    <title>Untitled</title>
   
    <script>
    // Dette array vises i menuen
stekst=new Array()
stekst[0]=\"Select your country\"
stekst[1]=\"&nbsp&nbspDenmark\"
stekst[2]=\"&nbsp&nbspGermany\"
stekst[3]=\"&nbsp&nbspSweden\"
stekst[4]=\"&nbsp&nbspUnited Kingdom\"
stekst[5]=\"&nbsp&nbspInternational\"

// Dette array indeholder hyperlinks
slinks=new Array()
slinks[0]=\"\"
slinks[1]=\"http://dk.xx.com\"
slinks[2]=\"http://de.xx.com\"
slinks[3]=\"http://se.xx.com\"
slinks[4]=\"http://uk.xx.com\"
slinks[5]=\"http://www.xx.com\"

    </script>
</head>

<body>
<script>
document.write(\'<FORM NAME=\"country\">\')
document.write(\'<SELECT NAME=\"sel_coun\" class=\"rulle\" onChange=\"if(this.options[this.selectedIndex].value!=0)self.location=this.options[this.selectedIndex].value\">\');


for (i=0;i<=stekst.length-1;i++){
if(i==0){
document.write(\'<option selected name=\"\'+i+\'\" value=\"\'+slinks[i]+\'\">\'+stekst[i])
}else{
document.write(\'<option name=\"\'+i+\'\" value=\"\'+slinks[i]+\'\">\'+stekst[i])
    }
}
document.write (\'</SELECT></td></FORM>\');
</script>

</body>
</html>
Avatar billede jakoba Nybegynder
10. oktober 2001 - 11:36 #3
Pas på med at lave en  name=\'???\'  parameter i <option kommandoen. Det giver bøvl.

mvh JakobA 
Avatar billede ohrt Nybegynder
10. oktober 2001 - 13:32 #4
Tak drenge
Avatar billede nikolajdu Nybegynder
10. oktober 2001 - 14:38 #5
Fino fino :-9
Avatar billede Slettet bruger
10. oktober 2001 - 17:51 #6
No problemo! @8-))
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