Toon posts:

[JS] onload veld vullen in opener; object expected

Pagina: 1
Acties:

Verwijderd

Topicstarter
Na zoeken alhier een stukje code gevonden hoe je middels Javascript de waarde kan vullen in een formulierveld in het document wat de opener is van een nieuw venster.

Ik tracht dit toe te passen maar krijg een Javascript foutmelding: Object expected, line 13.

Hier de code van het nieuwe venster:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<head>
<link rel="stylesheet" type="text/css" href="/NR/Yamanet/css/style.css">
<title>Upload Document</title>

<script language="javascript">
Function TransferUrl() {
    opener.document.NC_EditForm.NCPH_DocumentUrl.value = document.uploadresult.documenturl.value;
}
</script>
</head>
<body class="bg_content" onload="TransferUrl();">
<h3>Upload Document</h3>
The selected file has been uploaded and renamed succesfully.<br><br>
<form name="uploadresult"><input type="text" name="documenturl" class="inputfields" size="100" value="http://yeuweb02/yamadocs/Yamanet/Test/{10FAC7CB-D9B7-4176-BE79-66B105051C13}.pdf"></form>

</body>
</html>

Line 13 is de line waar de body-tag staat.

Zou het kunnen zijn dat het fout gaat omdat dit een resultaat-pagina is van het submitten van een formulier?
Wellicht dat hij hierdoor zijn "opener-object" kwijtraakt?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Hoe heb je die geopend dan? (script)

En doe eens alert(opener) of iets dergelijks, danw eet je of dat je probleem is.

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

het zou mij niet verbazen als het fout gaat door de value van 'documenturl' die bevat nogal wat exotisch tekens:
code:
1
http://yeuweb02/yamadocs/Yamanet/Test/{10FAC7CB-D9B7-4176-BE79-66B105051C13}.pdf

iets zegt mij dat je de // en de {} moet escapen...
code:
1
http:\/\/yeuweb02\/yamadocs\/Yamanet\/Test\/\{10FAC7CB-D9B7-4176-BE79-66B105051C13\}.pdf

maar ik moet bekennen dat ik niet zo'n hoog JS-guru gehalte heb :)

www.jurgroessen.nl


Verwijderd

Topicstarter
Hoe heb je die geopend dan? (script)
code:
1
<a href="javascript: window.open('/NR/Yamanet/Applications/UploadDocument/uploaddocument.asp?pguid={10FAC7CB-D9B7-4176-BE79-66B105051C13}&cguid={50F7C770-61DB-4096-9EAB-0078976A6FD5}','','toolbar=no'); void('');">this link</a>
En doe eens alert(opener) of iets dergelijks, danw eet je of dat je probleem is.
Dat geeft dezelfde melding..... :?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Hanglooz: zou niet uit moeten maken aangezien de string egwoon als zodanig behandelt wordt met alle gekke tekens etc. Wil je hem via de URL ofzo doorsturen dan is wel aan te raden deze te escapen:

escape(mystring);

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Function [...]
maak daar eens function van (kleine 'f')... ;)

Probeer in de toekomst eens een editor met syntax highlighting (bijvoorbeeld Editplus), dan had je direct geweten dat het fout was.

Verwijderd

code:
1
2
3
function TransferUrl() {
i.p.v.
Function TransferUrl() {

En gebruik liever geen underscore in je classnames:
code:
1
2
3
<body class="bgContent" onload="TransferUrl();">
i.p.v.
<body class="bg_content" onload="TransferUrl();">

Verwijderd

Topicstarter
k. function zonder hoofdletter "F", does the trick.

Nu krijg ik netjes een "undefined" terug in m'n alert.

Blijkbaar wordt het opener object niet onthouden na submitten van het formulier. Daar vind ik wel iets op.

Over de syntax-highligting: UltraEdit vindt beide goed: function en Function

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op dinsdag 23 april 2002 11:07 schreef I-eye het volgende:
k. function zonder hoofdletter "F", does the trick.

Nu krijg ik netjes een "undefined" terug in m'n alert.

Blijkbaar wordt het opener object niet onthouden na submitten van het formulier. Daar vind ik wel iets op.

Over de syntax-highligting: UltraEdit vindt beide goed: function en Function
Mogelijk moet je zelf de opener meegeven..

dus

bla = window.open()
bla.opener = this

Dat UltraEdit beide goed vindt klopt, beide bestaan namelijk. Ze horen echter elk andere kleuren te krijgen :P

Verwijderd

Topicstarter
/me is dumb |:(

Door het window.open scriptje had ik in mijn venster geen statusbar meer, dus ik deed even een "CTRL + N" om dezelfde pagina te openen maar wel in een normaal venster. Hierdoor ben je dus ook je opener-object kwijt.

Zonder het "CTRL + N" verhaal werkt het wel... :)

Verwijderd

Op dinsdag 23 april 2002 11:10 schreef Bosmonster het volgende:

[..]

Mogelijk moet je zelf de opener meegeven..

dus

bla = window.open()
bla.opener = this
opener is een sub-Object van window.
window.opener zou dus wel moeten werken.
Dat UltraEdit beide goed vindt klopt, beide bestaan namelijk. Ze horen echter elk andere kleuren te krijgen :P
De standaard js-syntax wordfile van UE is behoorlijk kut vind ik. Liever ga je ff naar www.ultraedit.com en download je daar een nieuwe. Zorg dan meteen dat .js files niet als Java worden gehightlight.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op dinsdag 23 april 2002 11:37 schreef Blues het volgende:
opener is een sub-Object van window.
window.opener zou dus wel moeten werken.
In alle browserversies/OS'en? Ik meen mij te herinneren dat het soms niet werkte (en daarom voeg ik het meestal zelf maar toe)..

Maar kan een overblijfsel zijn uit oude tijden.. soms weet ik niet meer waarvoor ik dingen doe :P
Pagina: 1