[JS] met opener een functie aanroepen

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Ik gebruik het javascript dat op deze pagina staat: http://www.codebase.nl/index.php/command/viewcode/id/189
Hiermee kan UBB-code en smilies worden toegevoegd aan bijv. een textarea

Dit javascript bevat een functie 'putStr' die ik graag zou willen aanroepen vanuit een ander window met opener.

zo wil het aanpakken:
JavaScript:
1
2
<a href="#" onClick="javascript:var naam =
window.opener.parent.frames.main.document.putStr('toe te voegen tekst');">een tekst toevoegen</a>

Maar dat werkt helaas niet, ik krijg deze fout:
De eigenschap of methode wordt niet ondersteund door dit object

Hoe zou ik de functie kunnen aanroepen, zodat het ook werkt?

43% of all statistics are worthless


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

functions worden toegevoegd aan een window object en niet de document
dus bijv.:
JavaScript:
1
2
3
4
5
6
7
var naam =
  window.opener.putStr('toe te voegen tekst');">

// of als de opener een aantal frames heeft
// en de functie in het main frame window staat
var naam =
  window.opener.frames["main"].putStr('toe te voegen tekst');">


bij een eventhandler hoort geen protocol, dus:

HTML:
1
<a href="" onclick="var naam = bla;">


disclaimer: uit de losse pols, dus ongetest :+

[ Voor 16% gewijzigd door Annie op 18-04-2003 17:17 . Reden: disclaimer ]

Today's subliminal thought is:


  • Noork
  • Registratie: Juni 2001
  • Niet online
zo kan het ook

code:
1
2
3
<a style="cursor:hand;" 
ONCLICK="document.forms(0).Comment.value=document.forms(0).Comment.value+':-)';"
>[img]01.gif></a[/img]

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Annie, window.opener.frames['main'].putStr('toe te voegen tekst'); werkt ook niet :(
error: window.opener.frames.main. is leeg of geen object
In mijn geval is het formulier idd in een frame opgenomen

Noork, idd zo kan het ook, maar de functie putStr die ik wil gebruiken kan de tekst toevoegen terplaatse van de cursor

[ Voor 21% gewijzigd door BobDay op 18-04-2003 17:32 ]

43% of all statistics are worthless


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Ik zou dit willen typeren als ranzige code (nofi). ;) :+

- collections geef je aan met blokhaken [] ipv ronde haken ()
- gebruik liever de volledige notatie document.forms[index].elements[index]
- parameters omsluit je met quotes, src="bla.gif"
- gebruik liever allemaal lowercase (gezien de xhtml-toekomst)
- een img tag heeft een aantal verplichte parameters (in xhtml tenminste)

En bovendien kan het een stuk korter:

JavaScript:
1
document.forms[0].elements['Comment'].value += ':-)';

[ Voor 7% gewijzigd door Annie op 18-04-2003 17:38 ]

Today's subliminal thought is:


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

BobDay schreef op 18 April 2003 @ 17:30:
Annie, window.opener.frames['main'].putStr('toe te voegen tekst'); werkt ook niet :(
error: window.opener.frames.main. is leeg of geen object
In mijn geval is het formulier idd in een frame opgenomen

Noork, idd zo kan het ook, maar de functie putStr die ik wil gebruiken kan de tekst toevoegen terplaatse van de cursor
Waar staat de javascript code? in het frame zelf?
en waar wordt de popup uit geopend?
Misschien zou je kunnen volstaan door alleen opener.putStr() te gebruiken in je popup.

Intentionally left blank


  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
mijn javascript code staat in het document dat door het frame main wordt geladen.
Dit document (met het JS) opened tevens het popup window.

43% of all statistics are worthless


  • Noork
  • Registratie: Juni 2001
  • Niet online
Annie schreef op 18 April 2003 @ 17:36:
[...]

Ik zou dit willen typeren als ranzige code (nofi). ;) :+

- collections geef je aan met blokhaken [] ipv ronde haken ()
- gebruik liever de volledige notatie document.forms[index].elements[index]
- parameters omsluit je met quotes, src="bla.gif"
- gebruik liever allemaal lowercase (gezien de xhtml-toekomst)
- een img tag heeft een aantal verplichte parameters (in xhtml tenminste)

En bovendien kan het een stuk korter:

JavaScript:
1
document.forms[0].elements['Comment'].value += ':-)';
maakt me allemaal geen worst uit. Als het maar werkt!!!!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

BobDay schreef op 18 April 2003 @ 17:42:
mijn javascript code staat in het document dat door het frame main wordt geladen.
Dit document (met het JS) opened tevens het popup window.
Alleen opener.putStr() zou dan moeten werken; zie dit voorbeeld (onderste link opent popup)

Intentionally left blank


  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
crisp schreef op 18 April 2003 @ 18:02:
[...]

Alleen opener.putStr() zou dan moeten werken; zie dit voorbeeld (onderste link opent popup)
In twee woorden: Geweldig, bedankt!

43% of all statistics are worthless

Pagina: 1