Toon posts:

[JS] Value textbox in opener veranderd werkt niet in FF

Pagina: 1
Acties:

Verwijderd

Topicstarter
De volgende simpele code werkt wel in IE maar niet in FF (en ik heb geen flauw idee waarom). Meestal is het andersom met mijn brouwsels maar zal wel iets stoms vergeten. De code in kwestie:

code:
1
javascript:opener.main.titel.value = 'aap';


Waar main de name van het form is, titel de name van een textbox en opener de pagina die de popup waarin deze js code staat geopend heeft (waar dus ook die form en textbox inzitten :P).

Waarom slikt FF dit niet?

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 30-11 17:18

glashio

C64 > AMIGA > PC

Omdat opener.main vanuit de begin-pagina hetzelfde voorstelt als window.main in de geopende pagina, en daarom dus window.main geen window.forms['main'] is... laat staan dat titel een element-item is van <FORM name=main>... daarom dus

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


Verwijderd

Topicstarter
Uhm ik dacht dat ik de value van een textbox kon veranderen door venster.form.textbox.value aan te spreken. In IE werkt dit dus, jouw wartaal gaat me even te ver! Ik benader die textbox toch vanuit het geopende venster en daarmee geef ik aan dat hij in de opener zit, dat vind ik niet zo onlogisch beredeneerd.

Wat stel je voor dan?

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 30-11 17:18

glashio

C64 > AMIGA > PC

Je kan dit doen :
HTML:
1
<a href="javascript:if(opener)opener.document.forms['main'].titel.value='aap'">Klik</a>


Hier staat hoe je het document object kan benaderen.
Wartaal komt omdat ik ergggg opstandig ben vandaag :p Kan jij ook niks aan doen :P

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


  • HyperioN
  • Registratie: April 2003
  • Laatst online: 31-10 21:55
Glashio schrijft het misschien niet al te duidelijk op maar hij heeft wel gelijk (behalve dan die laatste opmerking over titel want dat heeft 'ie niet goed gelezen). Je mist bovendien document in je rits.
Probeer dus eens:
code:
1
javascript:opener.document.forms['main'].titel.value='aap';


Of geef de textbox gewoon even een id mee en gebruik
code:
1
javascript:opener.document.getElementById(textboxId).value = 'aap';


/edit: moet eerst eens op F5 drukken voordat ik een reply ga maken.

[ Voor 8% gewijzigd door HyperioN op 24-01-2007 14:39 ]


Verwijderd

Topicstarter
Dank, JS is nooit iets geweest waar ik zin in had tijd in te steken!

Succes met het verzet :).

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 15:38

killercow

eth0

Verwijderd schreef op woensdag 24 januari 2007 @ 14:44:
Dank, JS is nooit iets geweest waar ik zin in had tijd in te steken!

Succes met het verzet :).
Dus moeten wij het maar oplossen? Bijzonder lompe gedachte gang eerlijk gezegt.

openkat.nl al gezien?


Verwijderd

Topicstarter
Nee ik kwam er niet uit dus vroeg wat ik fout deed. Zo lomp is dat niet, vragen als je iets niet weet.

Edit: dat kon je idd vrij vervelend opvatten wat ik postte. Zo was het niet bedoeld in ieder geval, vind het gewoon een vervelende scripttaal.

[ Voor 41% gewijzigd door Verwijderd op 24-01-2007 15:55 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:35

crisp

Devver

Pixelated

JS is geen vervelende scripttaal, het is juist een bijzonder elegante taal. Maar ja, als je de moeite niet neemt om er wat meer over te weten te komen zal je daar ook nooit achter komen. Mijn advies zou dan zijn om gewoon helemaal geen javascript te gebruiken.

Overigens is het javascript: pseudo-protocol een no-no (links zijn niet bedoelt voor scripting maar voor navigatie - voor scripting zijn eventhandlers uitgevonden), en als je echt netjes een form-element wilt benaderen dan gebruik je ook de elements-collectie (welke een property is van het form).

Verder kan je beter gewoon een id gebruiken voor je form ipv een name (je form is dan overigens ook nog steeds benaderbaar via de forms-collectie).

Intentionally left blank


Verwijderd

Topicstarter
Yes, heb me er vandaag in verdiept en wat functies geschreven voor een cms (zat al veel js in, maar niet zelf geschreven) en n crm systeem. Het geeft een leuke touch aan de interface. Valt opzich wel allemaal mee! Voelt aan als een kruising tussen php (syntax) en vb.net, hoewel het daar technisch niets mee te maken heeft natuurlijk.
Pagina: 1