Avatar billede gnyff Nybegynder
16. juli 2003 - 23:12 Der er 6 kommentarer og
1 løsning

opener.document problem

Hej Eksperter

Jeg har en form med en hel masse variabler. Til siden hører der en print-function der åbner et andet vindue hvor samme fil bliver åbnet. Det der så er ideen i det er at man ikke submitter formen, men bringer variablerne videre.

Jeg har ikke muliheder for at bruge andet end javascript.

Grunden til at jeg ikke kan submitte formen er fordi så sender den variablerne. Meningen med denne form at man udfylder formen, trykker print for at få en copi selv, og sender resten af formen.

Jeg har prøvet alt og ville mene at dette skulle virke.

document.form.teskt.value = opener.document.form.tekst.value;

Jeg har også prøvet med window.opner og forms.form

men det virker ikke, kommer med fejlmelding:
opener.document ikke har en værdi eller er et objekt.

Er der ikke nogen der har nogen gode forslag til hvad man skal gøre?
Avatar billede roenving Novice
16. juli 2003 - 23:31 #1
newWin = window.open('dinFil.html','printWin');
newWin.document.formNavn.feltNavn.value = document.formNavn.feltNavn.value;
newWin.document.formNavn.feltNavn1.value = document.formNavn.feltNavn1.value;
newWin.document.formNavn.feltNavn2.value = document.formNavn.feltNavn2.value;

-- et potentielt problem med denne metode er, at dokumentet kan være lidt forsinket i oprettelsen, så man kan have brug for at vente lidt, før overførslen påbegyndes !-)
Avatar billede nazaq Nybegynder
17. juli 2003 - 09:51 #2
Man kan også lade det nye document hente oplysningerne:
//hoved side
newWin = window.open('dinFil.html','printWin');

//print side
document.formNavn.feltNavn.value = window.opener.document.formNavn.feltNavn.value;
document.formNavn.feltNavn1.value = window.opener.document.formNavn.feltNavn1.value;
document.formNavn.feltNavn2.value = window.opener.document.formNavn.feltNavn2.value;


/T
Avatar billede roenving Novice
17. juli 2003 - 11:57 #3
>>nazaq

Hvorfor skriver du det samme, som spørgeren ?-)
Avatar billede conrad Nybegynder
17. juli 2003 - 12:03 #4
Jeg havde selv samme problmer og benyttede istedet det script som Jakoba har lavet: http://hjem.get2net.dk/Jakob.Aggernaes/temp/indexx.html

Det overfører variabler fra en side til en anden

se evt:http://www.eksperten.dk/spm/71861
Avatar billede nazaq Nybegynder
18. juli 2003 - 07:41 #5
roenving->Det er da et godt spørgsmål. Gik ud fra at javascript skulle have window foran opener da den jo er parent til opener og at det var derfor at han fik at vide den ikke eksisterede. Men nu har jeg undersøgt sagen og IE er ligeglad.

/T
Avatar billede roenving Novice
18. juli 2003 - 13:33 #6
>>nazaq
Generelt set kunne man forledes til at tro det er sådan, og opener er også en property til window i en popup -- men der findes ikke et parent-child-forhold mellem et opener-window og popup'en -- men popup'en har heldigvis en tynd snor til sit ophav: opener property'en ...

Ellers er det jo sådan, at man kan underforstå window. i alle kommandoer, men den anbefales i nogle få tilfælde og frarådes i nogle få andre -- den forklaring jeg har fået er:

Brug _ikke_ window, hvis det objekt du umiddelbart får fat i er et overordnet eller selvstændigt window-objekt, f.eks. opener, parent og top ...

Brug _altid_ window, hvis det f.eks. er window.open() og window.print() -- kan man kalde det 'skabende' metoder ?-)

For lige at gøre det mere mudret, er der så forskel på modellen gennem browser-generationerne, i de første var f.eks. history et selvstændigt objekt, som ikke havde et tilknytningsforhold til andre objekter, mens det i dagens browsere er en property til window -- så her er det et kompatibilitets-spørgsmål, som gør, at man bør udelade window. -- for så dur history overalt !-)

-- Hvis man forøvrigt vil have snor i et popup-vindue fra openeren skal man oprette det som variabel:
var newWin = null;
function openWin(){
newWin = window.open('popup.html','popup');
}

mvh
jes
Avatar billede gnyff Nybegynder
18. august 2003 - 23:23 #7
Jeg har fundet ud af det med andre veje, jeg bruge innerHTML så ville det virke men tak for hjælpen
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