This seems really simple, but how do I call a javascript function that's defined in the top-level html, from a child frame?
top html doc
- 1st level frame
- 2nd level frame
my top html doc has a function called testFn(). In the 2nd level frame I have a button with onclick="top.testFn();"
but this doesn't call the testFn(). In Firebug if I use a watch to execute top.testFn();
it says TypeError: testFn() is not a function.
Should this all just work - in which case it's a problem with my documents, or is there some other way to call functions in the top-level window?
Your code looks right. If it says testFn() is not a function
then perhaps it isn't. Have you tried setting onload="testFn();"
in the <BODY>
of your top frame to make sure that works?
There could be some javascript error which leads to the code creating your testFn
function not being successfully completed.