2013-05-28 89 views
1

我在嘗試從父窗口執行函數時遇到了一些麻煩。JQUERY>從父窗口加載函數不起作用

在快速搜索這裏在stackoverflow,我發現一些關於這個問題的線程,但沒有一個有與我一起工作的解決方案。我真的不知道問題在哪裏。

這裏是測試代碼我正嘗試出:


(主頁)

<html> 
<head> 
<script type="text/javascript" src="../_js/jquery-1.9.1.js"></script> 
<script> 
$(document).ready(function() { 
    function test(){ 
     alert("It Works"); 
    } 
    $('.loadpg').load('teste5b.php'); 
}); 
</script> 
</head> 

<body> 
<div class="loadpg" style="display:block;"></div> 
</body> 
</html> 

(網頁加載)

<html> 
<head> 
<script type="text/javascript" src="../_js/jquery-1.9.1.js"></script> 
<script> 
$(document).ready(function() { 
    $('a').click(function(event){ 
     event.preventDefault(); 
     window.parent.$.test(); 
    }); 
}); 
</script> 
</head> 
<body> 
<a>Click Here</a> 
</body> 
</html> 

Basicaly,我需要這個,因爲我編碼模式窗口插件在我的應用程序中使用,我將使用此模式窗口來加載一個簡短的窗體來更新我的數據庫。模態窗口關閉時,將更新父窗口。

我需要加載父窗口函數來關閉模態窗口並在數據庫更新後更新主頁面的內容。

任何幫助將不勝感激。

謝謝!

回答

1

您的功能測試無法訪問,因爲它位於document.ready函數閉包內部。把它放在它之外,你就可以正常訪問它:

// the parent page: 
$(document).ready(function() { 
    $('.loadpg').load('teste5b.php'); 
}); 

function test() { /* your function here */ } 

// inside your loaded page, you can call it like this: 
window.parent.test(); 
+0

非常感謝你mcpDESIGNS。現在它工作得很好!我試過一次把這個函數放在de準備好的地方,但是在加載的頁面中,我試圖運行這樣的函數:window.parent。$。test()...你指出我的工作方式很好!謝謝!!! – RBR

+0

沒問題,還有你叫它的方式。 'window.parent。$。test()'** $ **就好像你有一個叫做test的jQuery擴展(不是一個普通的窗口函數)。有點不同! –

+0

感謝您的提示!我在編碼方面很新穎,這些小細節有時候會給我們帶來一些麻煩......想給你一個投票,但是我沒有那個聲望=( – RBR

相關問題