Problemet er, at dataene fra formen ikke kommer med over i popuppen, når jeg bruger ovenstående. Der er tale om en hel del data, som jeg ikke uden videre selv kan skrive på linket manuelt.
Hvordan kan jeg få formdataene overført til et popupvindue, når der trykkes submit?
(siderne er php, hvis der er en findé af den vej, jeg kan bruge så vil det også være finno, skal som sagt bare have de data fra form->popupvindue).
<ole> Hmmmmmmm, Thor......hvad så, hvis vinduet ikke har nået at åbne sig, inden der bliver submittet? Ville det ikke være sikrere at lægge en kort timeout på submitten - eller at skrive: onsubmit=\"return window.open( ...and all that jazz... );\" /mvh </bole>
onsubmit bliver netop udført før der submittes, og vinduet bliver åbnet før der returneres true for at indikere at formen vitterligt skal submittes. Så det virker skam helt fint, og kan endda bruges i browsere hvor Javascript er slået fra eller ikke eksisterer - der vil det nye vindue blot ikke være 390x370 ;o)
ole > Jo den gør, vi snakker blot om forskellige ting ;o)
Det du tænker på er hvorvidt siden i window.open kaldet når at blive indlæst - det er ligegyldigt, vi indlæser en tom side. Det eneste der betyder noget er at vi har åbnet et nyt window objekt der har samme navn som vores forms target, så når vi returnerer true og lader formen fortsætte med at submitte vil formen blive submittet til MitVindue - hvilket er det nye vindue.
Vi har haft problemet før har og jeg er sikker på, du ikke har ret....med behørig respekt, forstås ;o) Formen venter ikke, men fyrer af, hvad enten du returnerer true eller ej - jaja....den fyrer selvfølgelig ikke af, hvis du returnerer false :) Vinduet behøver ikke at have nået at folde sig ud, før der submittes - og så går det galt...jeg er mere end meget sikker, Thor :)
Hmmmmm.....det er ikke min opfattelse, vi snakker om to forskellige ting - tværtimod.
Hvis du fyrer et vindue af på onsubmit, vil det selvfølgelig altid åbne...ingen tvivl om det. Formen vil fyre af et splitsekund efter den har \'afsendt\' JS-beskeden om at vinduet skal åbne, men vil ikke vente på, det er åbnet helt...hvad enten du returnerer true eller ej (en window.open() returnerer altid true, hvis det lykkes at åbne et vindue, så din return er sådan set overflødig). Er det ikke åbnet helt, vil det gå galt.
Hvis du siger onsubmit=\"return window.open();\", tvinger du formen til at vente med at submitte til vinduet til window.open() har returneret true...så vil det altid gå godt. /mvh
Ole > Vi snakkede tilsyneladende om det samme, men nu virker du altså til at være forvirret (no offense ;).
window.open kører altså synkront, ikke asynkront. Når du kalder window.open() \'afsender\' du ikke en forespørgsel på at åbne vinduet på et eller andet tidspunkt - nej, du åbner rent faktisk vinduet med det samme.
Når jeg skriver
alert(\'1\');window.open();alert(\'2\')
vil du lægge mærke til at alert(\'2\') først bliver udført EFTER window.open() har åbnet det nye vindue.
Derudover så returnerer window.open() altså IKKE hverken true eller false, men en reference til det nye vindue (hvordan skulle man ellers lege med det nye vindue? ;). Den eneste grund til at onsubmit=\"return window.open()\" stadig submitter er fordi selve eksistensen af et objekt, uanset dens type, altid vil indikere true når man bruger den som grundtypen i en booleansk sammenligning.
Puha, det blev langt - finish finito verstanden ? ;)
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.