Avatar billede zackdk Nybegynder
20. juni 2004 - 21:54 Der er 18 kommentarer

Huske input fra andet vindue (gøres med javascript? håber på php)

Hej. Jeg har et problem som jeg håber nogen kan hjælpe mig med.
Det handler om at jeg har to vinduer, et (opbygget i frames) med:
- en formular (name="form1")
- et tekstfelt (name="input1")
- og en submit knap (name="submit1")

Og et andet (ikke opbygget i frames) der skal vise hvad man har indtastet i det første.
Det jeg gerne vil have er, at når der bliver trykket på submit1 i første vindue, opdaterer andet vindue og viser hvad der er blevet skrevet i input1 i første vindue.
Jeg gætter på at det kan gøres med javascript, men jeg bliver meget glad hvis det kan gøres med php, da jeg ikke er god til javascript. :-(

På forhånd tak.
ZackDk
Avatar billede roenving Novice
20. juni 2004 - 22:03 #1
php afvikles på serveren, så det vil kræver en reload af det andet vindue ...

-- hvor kommer det andet vindue fra ?-)

Hvis det er en popup, som er åbnet fra det første (eller omvendt !-) kan vi finde på metoder ...
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:10 #2
Jamen det er det, det er det vindue med rammerne der er popup
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:10 #3
Med framesne mener jeg :-)
Avatar billede skovenborg Nybegynder
20. juni 2004 - 22:15 #4
hvis det er hovedvinduet som du skal vise indholdet af input1-feltet kan du skrive:

Popupvindue:
<form name="form1" onsubmit="opener.document.getElementById('stdout').innerHTML = this.input1.value">

Hovedvindue - uden frames:
<body>
<div id="stdout"></div> <-- teksten bliver vist her
</body>
Avatar billede skovenborg Nybegynder
20. juni 2004 - 22:16 #5
eller måske:
parent.opener.document...
har ikke lige testet om det er nødvendigt ;-)
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:17 #6
ok tak :-D
hvis du gider må du meget gerne forklare da jeg er skod til javascript
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:25 #7
pokkers, hvis nu jeg ikke må ændre i formularen (altså onsubmit), og kun kan skrive i den den side der ikke er pop-up, er det så muligt?
Avatar billede skovenborg Nybegynder
20. juni 2004 - 22:28 #8
virkede det - og hvilken af dem var det lige. Det var jeg selv lidt i tvivl om ;-)

Men jeg kan sige så meget, at det scriptet gør er at den finder ud af hvornår formen i popuppen bliver submittet, og lægger så værdien i input1-feltet ind i en div.
opener betyder her det vindue som åbnede popuppen, og herfra kan man så udføre ting inde i modervinduet - i dette tilfælde finder den elementet med id'en "stdout" med document.getElementById("stdout") og lægger værdien af input1-feltet ind via innerHTML.
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:30 #9
jeg behøvede ikke opender :), men er det muligt det jeg skrev til sidst?
Avatar billede skovenborg Nybegynder
20. juni 2004 - 22:30 #10
kan du ikke ændre i din html-kode eller hvad mener du lige?
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:32 #11
det er svært at forklare men jeg kan ikke ændre i koden i pop-up vinduet :-( undskyld jeg ikk skrev det til start.

(Men det du skrev virkede ellers helt fint - Rigtig godt! ;-))
Avatar billede skovenborg Nybegynder
20. juni 2004 - 22:37 #12
men åbner du dit popupvindue fra din side og ligger siden i popup-vinduet overhovedet på din server? For i teorien kunne du godt hente værdien af dit formelement fra hoved-vinduet hvis altså siden i popupvinduet ikke ligger på en helt vildfremmed side.
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:39 #13
pokkers for den ligger på en anden server, men jeg ved hvad input feltet hedder, og hvad formularen hedder. Og jeg ved hvad framen hedder...kan man så ikk?! :-(
Avatar billede roenving Novice
20. juni 2004 - 22:42 #14
Næh ...

Cross-domain-scripting er en af de absolutte no-no's !-)

Så du må finde andre metoder, for du kan ikke oprette kommunikation imellem vinduerne på nogen måde ...
Avatar billede zackdk Nybegynder
20. juni 2004 - 22:44 #15
æv... :P
Avatar billede roenving Novice
20. juni 2004 - 22:49 #16
Hvis dine servere ligger under samme hoveddomaine, er der dog en mulighed for at sætte dokumenternes stamdomæne til at være hoveddomænet, men det lød ikke sådan (og det skal gøres, så begge dokumenter har det samme domæne, som skal være et 'over'-domæne !-)

Altså hvis din side ligger på hans.grete.andersen.dk kan du sætte domænet til enten grete.andersen.dk eller andersen.dk, og det andet dokument skal så have det samme domæne ...
Avatar billede zackdk Nybegynder
20. juni 2004 - 23:12 #17
..den ligger på et andet domæne...men er i sikre på at jeg ikke kan, jeg ved at man kan noget i stil med:
input1 = nytvindue.document.form1.input1.value
hvis det er på samme domæne, kan man ikke gøre noget andet smart?
Avatar billede roenving Novice
20. juni 2004 - 23:13 #18
Hver gang du prøver, vil du få fejlen: Adgang nægtet ...
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