Avatar billede aller Nybegynder
02. oktober 2002 - 16:50 Der er 9 kommentarer og
1 løsning

JavaScript funktion med parameter?

Hejsa, jeg har nedenstående kode:

  <script language="JavaScript" type="text/javascript">
<!--
// original code by Bill Trefzger 12/12/96

function UserInfo(no){
if (document.selecter+'no'.select+'no'.options[document.selecter+'no'.select+'no'.selectedIndex].value != "none") {
location = document.selecter.select1.options[document.selecter.select1.selectedIndex].value
        }
    }
//-->
</script>

Jeg er ved at lave et forum, og så bruger jeg en dropdown menu (<select>)til at vise alle moderators i hvert forum.

Jeg har givet hver form sit eget nummer:

<a href="java script:UserInfo(<%= ModTest %>);" >User Info</a>

hvor ModTest bliver forøget med en (vha. ASP) når den skriver HTML'en med forum'ene i (UserInfo(1) og UserInfo(2) etc etc)

Nu er mit spørgsmål, hvordan ændrer jeg koden til at modtage et parameter, så den automatisk går til den rigtige side afhængig af hvilket nummer der er givet?

Mvh.

Kim.
Avatar billede Slettet bruger
02. oktober 2002 - 20:27 #1
function UserInfo(no){
sel = document.forms["selecter" + no].elements["select" + no];
if (sel.options[sel.selectedIndex].value != "none") {
self.location.href = document.selecter.select1.options[document.selecter.select1.selectedIndex].value
        }
    }

P.S. Er du sikker på den linje med "document.selecter.select1"?
Avatar billede Slettet bruger
02. oktober 2002 - 20:28 #2
Tror du ikke, det skal være:

function UserInfo(no){
sel = document.forms["selecter" + no].elements["select" + no];
if (sel.options[sel.selectedIndex].value != "none") {
self.location.href = sel.options[sel.selectedIndex].value;
        }
    }

Hvorfor egentlig lave en form for hvert nummer. Det er da ikke særligt smart.
Avatar billede aller Nybegynder
02. oktober 2002 - 20:41 #3
Nej, den skal selvfølgelig også ændres, det glemte jeg at skrive..

Der er flere forms i min HTML. 1 for hver dropdown menu der er, de hedder bare et tal, eg. "1" for den første dropdown osv.

Kan du omskrive funktionen så den tager højde for det? Jeg har lige prøvet selv, men kunne squ ikke finde ud af det :(

Jeg vælger at acceptere dit svar, selvom det ikke helt virker for mig, for jeg tror det ville have virket, hvis jeg havde forklaret mit problem ordentligt.

Mvh

Kim A.
Avatar billede aller Nybegynder
02. oktober 2002 - 20:43 #4
AHHH, nu virker det... tusind tak for hjælpen...

Hvorfor er det i grunden ikke særlig smart med en form for hver dropdown?

Mvh.

Kim A.
Avatar billede aller Nybegynder
02. oktober 2002 - 20:46 #5
Argh, det virker ikke med form nummer 2 :(

http://aller.gotdns.com - der hvor navnet er Aller virker det ikke :(

Jeg har checket i HTML'en, form name og select name er som det skal være....

Mvh.

Kim A.
Avatar billede Slettet bruger
02. oktober 2002 - 20:50 #6
I JavaScript skal alle navne starte med enten et bogstav eller underscore. Derfor bliver du nødt til at ændre formnavnene til eksempelvis "formX", hvor X er nummeret. Husk også at ændre scriptet.
Avatar billede aller Nybegynder
02. oktober 2002 - 20:54 #7
Har nu ændret scriptet og min HTML til at navngive dem så de bliver til form1, form2 osv - men det virker stadig kun på den første dropdown :(

Mvh

Kim A.
Avatar billede Slettet bruger
02. oktober 2002 - 21:09 #8
Du har glemt at sætte et aflsuttende </form>-tag efter hver formular.
Avatar billede Slettet bruger
02. oktober 2002 - 21:09 #9
aflsuttende = afsluttende
Avatar billede aller Nybegynder
02. oktober 2002 - 21:12 #10
Nøj, hvor kan man være stupid nogen gange :)

Jeg siger tusind tak!

Mvh.

Kim A.
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