Avatar billede mik789 Nybegynder
11. maj 2002 - 16:27 Der er 4 kommentarer og
1 løsning

sikkert meget simpelt

Jeg har en liste med navne, og et kllik på hver enkelt navn skal åbne et nyt vindue med uddybende oplysninger om det enkelte navn. Jeg har gjort det sådan:

<script type="text/javascript">

var p = "oplysninger.html#";

function myOpen(name) {
    win = window.open (name, "win", "width=510,height=333,top=130,[m.m.]");
    win.focus();
  }
</script>
- og så:

<a href="java script:myOpen(p+'peterjensen');void(0)">Peter Jensen</a>

----- fint nok, det virker. Men jeg kan ikke forså hvorfor jeg ikke i stedet kan gøre sådan her:

<script type="text/javascript">

var p = "oplysninger.html#";
var name = p+name;

function myOpen(name) {
  // nøjagtigt som ovenfor
  }
</script>
og så bare:

<a href="java script:myOpen('peterjensen');void(0)">Peter Jensen</a>

---------

Når jeg forsøger dette åbner det ny vindue ganske vist, men det er tomt. Der er ingen fejlmeddelelser i javascriptkonsollen. Så 10 point bare for en forklaring + 5 point hvis der også er en løsning der udretter det samme.
/mik
Avatar billede thomashove Nybegynder
11. maj 2002 - 16:53 #1
dvs. at det nye vindue skal referere til siden "oplysninger.html#peterjensen"

så prøv

<script type="text/javascript">

function myOpen(name)
{
    name="oplysninger.html#"+name;
    win = window.open (name, "win", "width=510,height=333,top=130,[m.m.]");
    win.focus();
  }
</script>

<a href="java script:myOpen('peterjensen');void(0)">Peter Jensen</a>
Avatar billede mik789 Nybegynder
11. maj 2002 - 17:07 #2
Ja, du har ret, det virker. Men kan du forklare mig hvorfor dit virker og mit ikke virkede. Så vidt jeg kan se er logikken nøjagtig den samme, og den eneste forskel er, at du har det hele inde i funktionen.
Avatar billede thomashove Nybegynder
11. maj 2002 - 17:14 #3
logikken er ikke det samme da du i din version siger

var p = "oplysninger.html#";
var name = p+name;

før funktionen (dvs. at name bare er tom...)

dermed vil du kun kalde window.open med "peterjensen" da oplysninger.html# er gået tabt
Avatar billede mik789 Nybegynder
11. maj 2002 - 17:21 #4
OK, det er fordi at kaldet af funktionen i:

<a href="java script:myOpen('peterjensen');void(0)">Peter Jensen</a>

KUN kalder funktionen myOpen(name) og ikke går tilbage og ser på hvad name er blevet tildelt tidligere. OK. Tak for det.
Avatar billede thomashove Nybegynder
11. maj 2002 - 17:23 #5
netop - du kan også altid bruge

alert(name);


for at se hvad din variabel name indeholder
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