» »

Ko ne najde objekta JavaScript noče nadaljevat! GRR!

Ko ne najde objekta JavaScript noče nadaljevat! GRR!

pivmik ::

OK, jebem se že celo popoldne s to kurčevo javascript kodo:


function add(avatarurl)
{
if (window.opener.document.forms['registration'].avatar) {
window.opener.document.forms['registration'].avatar.value=avatarurl;
}
else if (window.opener.document.forms['profile123'].newavatar) {
window.opener.document.forms['profile123'].newavatar.value=avatarurl;
}
else {
alert('Avatarja ni bilo mogoce izbrati,\nURL naslov avatarja bos moral vpisati rocno.');
}
window.close()


Ta koda je v avatars.html strani katera se odpre v popup oknu s pritiskom na en gumb:
onClick="javascript:window.open('avatars.html','','width=256,height=480,scrollbar=yes');"

Gumb za odpiranje tega popupokna je na DVEH različnih straneh.
Ena stran(za registracijo) vsebuje element:
window.opener.document.forms['registration'].avatar
Druga stran(za editiranje profila/nastavitev) pa vsebuje:
window.opener.document.forms['profile123'].newavatar

Stvar je v tem da če ne obstaja ta element:
window.opener.document.forms['registration'].avatar
se JavaSkripta ustavi.
Prav tako če pa že obstaja element:
window.opener.document.forms['registration'].avatar
lepo vnese podatek v ta element vendar se izvajanje JavaSkripta ustavi tukaj:
else if (window.opener.document.forms['profile123'].newavatar) {
tako da window.close() se ne more izvesti.

Kako naredit da bo skripta delovala z obema stranema oz kako preprečiti zaustavitev izvajanja JavaSkripte?

Poskusim sem tako kot v IE kot tudi v Operi.
Opera ki je pameten browser mi omogoča pogled nad JavaScript napakami, to piše tam:


Event thread: onclick
Error:
name: TypeError
message: Statement on line 5: Expression evaluated to null or undefined and is not convertible to Object: window.opener.document.forms["registration"]
Backtrace:
Line 5 of inline#1 script in avatars.html
if (window.opener.document.forms["registration"].avatar)
In unknown script
add("http://www.naslov.com/avatarja/online.g...
At unknown location
{event handler trampoline}



Jaz bom jetra spluval ven od jeze!!! Pomagajte mi :(
LP, Gregor GRE^

OwcA ::

Kaj, ko bi preverjal za vse elemente v verigi, ako obstajajo?
if (<b>window.opener.document.forms['registration']</b> && window.opener.document.forms['registration'].avatar)
...
Otroška radovednost - gonilo napredka.

Zgodovina sprememb…

  • spremenilo: OwcA ()

pivmik ::

Owca hvala!

Dela, ne morem verjet da dela.
Jazst javascript ne poznam zelo dobro, vedno samo neki improviziram z njim :)

Uaaaa! Dela! še zdej ne morem verjet.
Niti zdej!
LP, Gregor GRE^


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Slo-Tech userscripts

Oddelek: Izdelava spletišč
175173 (2625) jype
»

[javaScript] Preverjanje formata zapisa EMŠO

Oddelek: Programiranje
132937 (2557) win64
»

Odprtje nove strani z javascript brez menija, statusne vrstice in naslovne vrstice. L

Oddelek: Izdelava spletišč
192126 (1846) mte
»

En iziv....

Oddelek: Izdelava spletišč
161324 (998) alesrosina
»

"Paste" iz enega okna v drugega?

Oddelek: Programiranje
5991 (885) poweroff

Več podobnih tem