[Javascript] Form submitten vanuit ander venster

Pagina: 1
Acties:

  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
Ik ben bezig met maken van een cms achtige tool.

Vanaf de pagina om content toe te voegen / te wijzigen is het mogelijk om afbeeldingen te uploaden. Dit gebeurt dmv het drukken op een button. Er opent dan een nieuw window (met 2 frames) waarin afbeeldingen ge-upload kunnen worden, of eerder geuploade afbeeldingen weer verwijderd kunnen worden.

Als de gebruiker klaar is met uploaden/verwijderen drukt hij op een knop in het upload venster, waarna het upload venster sluit. Het onderliggende scherm met formulier zou nu eigenlijk moeten submitten. Op die manier kan het afbeeldingen overzicht op het formulier herladen worden, zonder dat wijzigen aan de content verloren gaan.

Alles lukt, behalve het submitten van het formulier vanuit de popup. Ik heb de volgende javascript code geprobeerd:
code:
1
<a href="javascript:parent.window.document.form1.submit();" target="down">Klaar</a>
(Bij elkaar gezocht via de search en via google)
Het formulier op de onderliggende pagina heet 'form1'.

De javascript console van mozilla geeft:
code:
1
2
Error: parent.window.document.form1 has no properties
Source File: javascript:parent.window.document.form1.submit();


Iemand een idee om dit deftig op te lossen?

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Ik denk dat je antwoord bij IRT is terug te vinden. Zie deze vraag (en antwoord).

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

code:
1
parent.opener.document.forms["form1"].submit();

  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

Hmm... dit is toevallig.

Ik zit met exact het omgekeerde probleem. Ik wil vanuit een pop-up een form submitten, maar dan in een FRAME van het venster dat de pop-up heeft geopend. Met een onSubmit='submitSearch(this)' roep ik de volgende functie aan:

code:
1
2
3
4
5
6
function submitSearch(f) {
    var myTarget = window.opener.parent.frames[2];
    f.target = myTarget;
    f.submit();
    return false;
}


Ik heb al heel wat geprobeerd om de juiste target op te geven, maar hij blijft het formulier in een (derde) nieuw venster openen.

Iemand een idee wat de juiste referentie is naar het frame-window?

Ik heb al geprobeerd:

code:
1
2
3
4
5
window.opener.parent.document.getElementById('searchresults');
window.opener.parent.document.getElementById('searchresults').contentWindow;
window.opener.parent.document.getElementById('searchresults').document;
window.opener.parent.document.getElementById('searchresults').window;
window.opener.parent.document.searchresults;


En nog wat andere opties ... maar steeds geen succes...

Alvast dank voor de reacties.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

target moet een window-name zijn: geef gewoon je frame een naam en doe target="naamvanjeframe" ;)

Intentionally left blank


  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

@Crisp

He ja, dat werkt ... wow. Dat had ik niet gedacht ... vreemd ... aangezien het in een heel ander venster is ... ik ben verbaasd ... soms is de oplossing simpeler dan gedacht :) .

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

crisp schreef op 27 september 2004 @ 10:16:
[...]

target moet een window-name zijn: geef gewoon je frame een naam en doe target="naamvanjeframe" ;)
Was dat ook niet onderdeel van die IE-exploit... Zodat je vanaf een andere window (van een ander domain) een bepaalde frame kon benaderen?

[ Voor 10% gewijzigd door BtM909 op 27-09-2004 11:24 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

BtM909 schreef op 27 september 2004 @ 11:23:
[...]

Was dat ook niet onderdeel van die IE-exploit... Zodat je vanaf een andere window (van een ander domain) een bepaalde frame kon benaderen?
Ja, dat klopt; echter als alle windows van hetzelfde domein zijn zou het gewoon moeten kunnen.

Intentionally left blank


  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
Woudloper schreef op 27 september 2004 @ 07:01:
Ik denk dat je antwoord bij IRT is terug te vinden. Zie deze vraag (en antwoord).
Dank, werkt uitstekend.
André eveneens bedankt.
Pagina: 1