[JS] Vanuit popup naar opener posten

Pagina: 1
Acties:

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 21:06
Ik open op de volgende manier een popup:

window.name = "puntenlijst";
var myPopup = window.open(url,name,options);
myPopup.opener = self;

In de popup staat een formulier met de volgende onsubmit handler:

var form = document.forms['nieuwType'];
form.target = opener.name;
form.submit();
return false;

En toch blijft de popup het formulier versturen in hetzelfde venster. Als ik bovenin de handler zet opener.location='index.html'; werkt dat wel, dus het opener element is gewoon goed.
Waarom werkt dit nu niet?

Edit: ik weet dat dit in de search terug te vinden is, maar die oplossingen werken geen van alle in IE én FF (hier niet tenminste).

[ Voor 19% gewijzigd door jsiegmund op 24-05-2006 14:10 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

En wat gebeurd er als je ipv opener.name gewoon opener gebruikt?

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 21:06
Dan krijg ik een nieuw scherm. Opzich ook logisch aangezien .target vraagt om een string die de naam van het juiste scherm moet hebben. Gewoon opener invoeren geeft dus geen string (of misschien intern een error melding ofzo), dus wordt het scherm niet herkent en opent 'ie een nieuwe. Dat valt prima te verklaren.

Overigens, als ik opener.name laat afdrukken geeft dit precies de naam die ik opgeef, dus ook dat klopt. Hardcode de naam als string opgeven in het target attribuut werkt overigens ook niet, terwijl het scherm blijkbaar wel de juiste naam heeft. 8)7

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

JavaScript:
1
2
3
4
5
6
7
8
9
10
window.name = "puntenlijst";
var myPopup = window.open(url,name,options);
//myPopup.opener = self;

//In de popup staat een formulier met de volgende onsubmit handler:

var form = document.forms['nieuwType'];
form.target = opener;
form.submit();
return false;


Is name niet reserved? Werkt bovenstaande ook niet? En hoe roep je je popup aan?

[ Voor 15% gewijzigd door BtM909 op 24-05-2006 14:50 ]

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.


  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

Volgens mij kan het ook niet zoals jij het wil.
Je zou wel de waardes naar de opener over kunnen hevelen om die daar te gaan posten.

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 21:06
name is wel gereserveerd maar juist voor dit soort doeleinden. Vandaar dat ik die variabele gebruik, dat is namelijk waar het target attribuut naartoe moet verwijzen. Inmiddels heb ik het al op een andere manier opgelost, submitten in hetzelfde scherm en dan daarna alsnog afsluiten en de parent refreshen, maar toch blijf ik erin geloven dat het moet werken. In IE had ik het werkend, maar toen wilde FF er niet aan, raar probleem.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

JavaScript:
1
2
window.name = "puntenlijst";
var myPopup = window.open(url,name,options);

Je geeft je popup dus dezelfde name als je huidige window :?

Intentionally left blank


  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 21:06
Nee, window.name geeft een naam aan het huidige scherm. Kun je ook vervangen door self.name als ik het goed heb (maar niet dat dat wat uitmaakt).

Verwijderd

ja, maar dat maakt de variabele "name" een globale variabele, en die wordt dus gebruikt in je open method, niet de waarde die er eerder aan hebt gegeven
Pagina: 1