2012-10-18 55 views
0

我有一個iframe,裏面有一個javascript函數。我希望能夠從iframe的父級調用該函數,因爲我需要在打開時在iframe中設置一些值。到目前爲止,我嘗試:從父母調用子函數的功能

ClientScript.RegisterClientScriptBlock(this.GetType(), "saveTasks", "<script type='text/javascript'> function SaveTasks() { frames['myIframe'].location.href = 'myURL'; frames['myIframe'].test(); } </script>"); 

不過,我不能夠調用myURL文件中找到的測試()函數。

什麼是特定的語法來做到這一點,從它的父級調用兒童內部的JavaScript函數?謝謝

+0

這是「iframe」的URL在你的父母網站相同的域? – Ian

+0

是的,它與父代在同一個域中。 – Crista23

回答

1

我不是很熟悉這個。雖然這段JavaScript沒有任何方式能夠知道「frames ['myIframe']」是什麼。有很多事情可能會出錯,例如甚至是加載的$文檔?

0

找到了解決方案:似乎我的子頁面的JavaScript函數被發現時沒有加載當我調用該函數的時刻。幸運的是,我找到了解決方案here

ClientScript.RegisterClientScriptBlock(this.GetType(), "saveTasks", "<script type='text/javascript'> function SaveTasks() { frames['ValidateTasksIframe'].location.href = 'myURL'; $('#ValidateTasksIframe').load(function() { frames['ValidateTasksIframe'].test();});} </script>"); 

使用event.load()的工作方式就像一個魅力! :)

相關問題