Avatar billede kirsten Nybegynder
02. marts 2008 - 20:18 Der er 16 kommentarer og
1 løsning

Data fra popup til "hoved side"

Hej,
er der en smart måde at overføre en variabel feks. ved klik på et link i sin popup til sin hovedside ?
Det skal helst gøres uden at hovedsiden opdateres..

På forhånd tak.
Avatar billede thesurfer Nybegynder
02. marts 2008 - 20:26 #1
Du får fat på siden, der åbnede popup'en, via "parent"..

Eksempel:

formen hedder "hello" og tekstfeltet hedder "world".. og værdien "123" skal sættes i tekstfeltet..

Så gør du sådan her:

parent.document.hello.world.value = '123';
Avatar billede thesurfer Nybegynder
02. marts 2008 - 20:26 #2
Rettelse!

opener.. ikke parent.. :-)

opener.document.hello.world.value = '123';
Avatar billede kirsten Nybegynder
03. marts 2008 - 10:36 #3
Takker :)
Avatar billede kirsten Nybegynder
03. marts 2008 - 10:37 #4
Smider du et svar ?
Avatar billede roenving Novice
03. marts 2008 - 16:21 #5
-- og er det ikke et formfelt, kan du sætte værdien ind med:

opener.document.getElementById("ditElement").firstChild.nodeValue = "123";

f.eks.

<span id="ditElement">&nbsp;</span>
Avatar billede kirsten Nybegynder
03. marts 2008 - 18:55 #6
Lige en sidebemærkning..
Hvis jeg skal overføre en variabel der feks skal opdatere et billed,
er det så noget i samme stil?
Avatar billede olebole Juniormester
03. marts 2008 - 19:01 #7
<ole>

opener adresserer window objektet, hvorfra popup'en blev åbnet. Derfra gør du, hvad du ellers ville have gjort i hovedvinduet. Altså:
    opener.minVariabel = 123;

Kik på de andre eksempler i tråden. Normalt ville du sætte et formfelt med:
    document.hello.world.value = '123';

- og normalt ville du sætte et elements tekstindhold med:
    document.getElementById("ditElement").firstChild.nodeValue = "123";

- og nomalt ville du sætte en variabel med:
    minVariabel = 123;

Sætter du 'opener.' foran, sker det samme - blot i popup'ens 'forælder-vindue'

/mvh
</bole>
Avatar billede olebole Juniormester
03. marts 2008 - 19:03 #8
- og et billede, der skal have skiftet source:
    opener.document.getElementById("ditBillede").setAttribute("src", "nytPic.jpg");
Avatar billede kirsten Nybegynder
03. marts 2008 - 19:17 #9
Super!!
Tak for infoen :)
Avatar billede thesurfer Nybegynder
03. marts 2008 - 19:52 #10
Jeg deler gerne med de andre banditter.. :-)

- Svar
Avatar billede kirsten Nybegynder
03. marts 2008 - 20:01 #11
Hvad er der galt med denne her: opener.document.getElementById("ditBillede").setAttribute("src", "nytPic.jpg");
hvis den skal smides i en onclick?

Den brokker sig over syntax error...
Avatar billede kirsten Nybegynder
03. marts 2008 - 20:25 #12
Fandt ud af det ved en funktion istedet:

<script language="javascript">
function changeImg() {

    opener.document.getElementById("test").setAttribute("src", "nytPic.jpg");

}
</script>
Avatar billede roenving Novice
03. marts 2008 - 23:04 #13
Fordi der kommer rod i gnyfferne:

Enten

onclick='opener.document.getElementById("ditBillede").setAttribute("src", "nytPic.jpg");'

-- eller

onclick="opener.document.getElementById('ditBillede').setAttribute('src', 'nytPic.jpg');"

-- men funktionen virker selvfølgelig også !-)
Avatar billede kirsten Nybegynder
04. marts 2008 - 09:18 #14
Jeg takker og bukker for en super hjælp endnu engang! :)
Avatar billede thesurfer Nybegynder
04. marts 2008 - 22:31 #15
Man vil vel få en fejl, ved brug af firstChild, hvis der ikke er noget child.. :-)

Eksempel:

Her vil koden fejle:

<div id="ditElement"></div>

Her vil det gå fint:

<div id="ditElement">noget her</div>


Et fix kunne være:

elm = opener.document.getElementById("ditElement"); if (elm.childNodes.length == 0) { elm.appendChild(document.createTextNode("")); } elm.firstChild.nodeValue = "123";
Avatar billede roenving Novice
05. marts 2008 - 17:20 #16
>>strandløve

-- præcisering er ikke af vejen, men se f.eks. 03/03-2008 16:21:23 !-)
Avatar billede thesurfer Nybegynder
05. marts 2008 - 23:11 #17
roenving> Yes, det står indirekte i indlægget 03/03-2008 16:21:23.. men jeg mener at det er vigtigt at forklare hvorfor der netop står "&nbsp;", som jo er et mellemrum, og ikke kan ses..

Umiddelbart kunne/ville man synes, at noget der ikke kan ses, ikke behøver at være der.. hvis man så fjerner "&nbsp;" af den grund, vil man få en fejl..

:-)
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