2011-05-27 33 views
3

我使用fancybox的模式框和iFrame。從形式的iFrame成功我使用下面的代碼:使用jquery刷新iframe的父頁上的div

<script type="text/javascript"> 
window.setTimeout('window.top.location.href = "/page.asp"; ',999); 
</script> 

<script language="javascript"> 
<!-- 
setTimeout("parent.$.fancybox.close();",1000) 
//--> 
</script> 

該關閉的fancybox的模式對話框並刷新父頁面。我想定位一個div來使用Jquery在iFrame的父頁面上刷新。

我想在父頁面上用id =「target」刷新目標DIV,而不是整個頁面。我如何使用JQuery去解決它?

TIA

代碼示例如下

父頁

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
</head> 
<body> 
<div id="target"> 
content content 
</div> 
</body> 
</html> 

的iFrame網頁在表單驗證

<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
</head> 

<script type="text/javascript"> 
window.setTimeout('window.top.location.href = "/parent_page.asp"; ',999); 
</script> 

<script language="javascript"> 
<!-- 
setTimeout("parent.$.fancybox.close();",1000) 
//--> 
</script> 

如何讓父頁面上的功能刷新div id =「target」並從iFrame中調用它。現在,整個父頁面刷新。

+0

您能否提供一個完整的示例,其中包含一些DIV示例以及您想要「刷新」的具體描述以及「刷新」對您有什麼影響?我懷疑你想要的是在AJAX中重新加載頁面,將新的HTML傳遞給jQuery,並使用'.remove()'和'.html(new_html)'新的DIV內容到現有的DIV中。 – 2011-05-27 17:49:12

+0

我試圖用你提到的無效的谷歌搜索解決方案。我將如何去完全使用AJAX來做這件事? – Patriotec 2011-05-28 03:54:05

回答

3

傳遞的第二個參數的jQuery,與所需的範圍

更換window.setTimeout('window.top.location.href = "/page.asp"; ',999);本:

window.setTimeOut(function(){ 
    $("#target", window.parent).load("/page.asp #target"); 
},999); 
+0

我是一個完整的jQuery新手。請包括父代和iframe頁面的代碼示例以及完整的腳本語法。單獨的代碼片段是不夠的 – Patriotec 2011-05-27 18:19:53

+0

編輯我的答案,這是你想要的? – Andre 2011-05-27 18:39:50

+0

我試過安德烈的解決方案,但沒有奏效。 fancybox關閉,然後父窗口進入焦點,但div的內容沒有改變。我是否在頁面中丟失了某些內容以使其工作?從我閱讀的內容中,我需要在父頁面中創建一個函數並從iFrame中調用它。 – Patriotec 2011-05-27 19:44:31