Avatar billede cruitfake Nybegynder
14. februar 2003 - 14:32 Der er 4 kommentarer og
1 løsning

Oprettelse eller initiering af variabel i nyt vindue

Hej med jer,

Det jeg har brug for er en måde at initiere eller oprette en javascript-variabel i et programmatisk oprettet vindue.

Fx:

i "MainWindow.html"
  <script...>
    var lvWindow = window.createPopup();
    var lvScript = lvWindow.document.createElement("SCRIPT");

    lvScript.language = "javascript";
    lvScript.type = "text/javascript";
    lvScript.src = "MyScriptFile.js";
    lvWindow.document.appendChild(lvScript);
  </script>

Nu har det nye vindue alt hvad der er i "MyScriptFile.js", fx en variabel, "var ivKundeArray;".

Hvordan får jeg "ivKundeId" initieret med noget fra "MainWindow.html"?

En måde kunne være at have en "init(pvKundeArray)"-funktion i "MyScriptFile.js" der sætter "ivKundeArray", men hvordan kalder jeg den fra "MainWindow.html" (den eksisterer jo i det nye vindue).

Jeg har forsøgt at lave noget "<body onload...>"-fusk og andet, men uden held.

Det er vigtigt at initieringen sker fra "MainWindow.html".

Håber problemstillingen er klar nok - ellers sig til.
Avatar billede cruitfake Nybegynder
14. februar 2003 - 14:43 #1
Der skal naturligvis stå:

Hvordan får jeg -->"ivKundeArray"<-- initieret med noget fra "MainWindow.html"?
Avatar billede elprebsi Praktikant
14. februar 2003 - 15:30 #2
Hej Allan,

Jeg er ikke helt med på, hvorfor du vil have dit JavaScript til at eksistere ind i popup vinduet. Jeg tror du slipper nemmere om ved det, hvis du lader JavaScript og variable blive i Main.html's scope.

Hvad skal du bruge ivKundeArray til inde i popup vinduet ?

Hvis det f.eks. er for at lave en dropdown med kunder, kan du jo lave den i en <DIV> i en usynlig <DIV> i Main.html, altså:

<div style="visibility:hidden">
  <div id="popupdiv">
    ...
    HTML til at vise dropdown med
    ...
  </div>
</div>

popupdiv's innerHTML kan du så lægge på popup vinduet.

Så skulle det vel fungere ?!

/ElPrebsi
Avatar billede olebole Juniormester
14. februar 2003 - 23:24 #3
<ole>

elprebsi >> Du misforstår spørgsmålet. Der er tale om et popup-objekt ... ikke et popup-vindue  ;o)

cruitfake >> Det er ikke så let at tilgå variabler og funktioner i popup'en, men den kan til gengæld selv gøre sig tilgængelig. Fra popup'en kan du kalde funktioner og variabler i hoveddokumentet, da dette kan adresseres med 'parent'. Eksempel:

<script>
    var oPop;
    var lvWindow = window.createPopup();
    var lvScript = lvWindow.document.createElement("SCRIPT");
   
    lvScript.language = "javascript";
    lvScript.type = "text/javascript";
    lvScript.src = "MyScriptFile.js";
    lvWindow.document.appendChild(lvScript);
    oPop.sigHi();
</script>

... og i 'MyScriptFile.js' skriver du så:

parent.oPop = this;

function sigHi() {
    alert( 'Hi' );
}

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

Nu kan popup-objektet tilgåes fra hoved-dokumentet med 'oPop'

/mvh
</bole>
Avatar billede cruitfake Nybegynder
17. februar 2003 - 08:11 #4
Mange tak for svaret olebole, det var jo lige det jeg skulle bruge :)
Avatar billede olebole Juniormester
17. februar 2003 - 08:20 #5
Det var da godt ... og tak for points  ;o)
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