Avatar billede raos Nybegynder
31. august 2001 - 17:41 Der er 6 kommentarer og
2 løsninger

Kald af JS function

Kan man kalde en JavaScript function på én asp side fra en anden asp side?

Altså hvis 1.asp gør følgende:
-----------------
function Popupe() {
    url = \'2.asp\';
    window.open(url, \"\" , \"width=150 ,height=150,location=no,toolbar=no,directories=no,status=no,scrollbars=no,resizable=no,copyhistory=no,menubar=no\");
    }
-----------------

og der også på 1.asp ligger :
------------------
function kaldmig(){
  alert(\'hej hej\')
}
-----------------------------


Nu kaldes PopUp() fra en href på 1.asp
Overe på 2.asp ligger der en funktion:

------------------
function kaldtilbage()
{
alert(\'jeg vil kalde kaldmig() ovre på 1.asp\')
}

--------------

er der muligte at kalde functionen kaldmig() fra 2.asp ?

På forhånd tak
Avatar billede jakoba Nybegynder
31. august 2001 - 17:46 #1
På det tidspunkt hvor siderne er hentet ind i browseren er der ikke længere noget der hedder .ASP, kun den tekst asp har genereet på basis af filerne på din server.

Så ja det kan man sagtens. Du skal blot sørge for at din asp genererer lovlig javascript kode.

mvh JakobA
Avatar billede nute Nybegynder
31. august 2001 - 17:47 #2
*********
test.htm
*********

<HTML> 
<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
<!--
var win;
function openWin(){
  win=window.open(\'test2.htm\');
}

function test(){
  alert(\"Vindu 1\");
}
//-->
</SCRIPT><BODY >
<a href=\"java script:void(openWin());\">Åpne vindu</a><br>
<a href=\"java script:void(win.test());\">Kall metode i annet vindu</a><br>
</BODY> 
</HTML>

*********
test2.htm
*********

<html>
<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
<!--
function test(){
  alert( \"vindu 2\" );
}
//-->
</SCRIPT>
<body>
<a href=\"java script:void(opener.test());\">Kall metode i annet vindu</a><br>
</body></html>

prøv så å åpne test.htm

/nute
Avatar billede jakoba Nybegynder
31. august 2001 - 17:53 #3
Og du skal huske at se på det fra browserens \'synsvinkel\'. dvs.

i det åbent browservindue ligger filen 1.aspI det vindue udføres funktionen PopUp() der åbner et extra browservindue med filen 2.asp i. vinduet har ikke noget navn.

winduet der blew popuppet kan snakke tilbage til sin forælder via standardvariablen  opener  så din  kaldtibage()  funktion kan skrives som:

function kaldtilbage( ) {
    opener.kaldmig();  // aktiverer kaldmig() funktionen så siden 1.asp
}

mvh JakobA
Avatar billede raos Nybegynder
31. august 2001 - 17:55 #4
mange tak for den hurtige hjælp!
Avatar billede nute Nybegynder
31. august 2001 - 17:55 #5
jakoba >> er det ikke dét det samme som jeg har skrevet ?
Avatar billede nute Nybegynder
31. august 2001 - 17:58 #6
hmmm....sjovt å dele point med en som svarte det samme som meg, bare lenge etter

;-)
Avatar billede jakoba Nybegynder
31. august 2001 - 18:02 #7
Såmænd. Jeg vil lige understrege det var \"Great minds thik alike\" og ikke plagiat. Jeg er bare noget langsom.

http://www.eksperten.dk/spm/104468

mvh JakobA
Avatar billede nute Nybegynder
31. august 2001 - 18:09 #8
:-D jeg regnet heller ikke at du plagierte mitt forslag, og du kan jo heller ikke noe for at du fikk noen poeng. Når *du* støtter mine løsninger, så vet jeg at det er noen fornuftige løsninger jeg kommer med :)

Her på xperten.dk mener jeg at rett skal være rett og \"lever\" etter det prinsippet, så hvis jeg ser noen som ikke lever opp til mine \"verdier\", så kommenterer jeg det alltid.

takk for rettferdig \"behandling\" ;-)

/nute
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