Обновить div на родительской странице из iframe, используя jquery - PullRequest
3 голосов
/ 27 мая 2011

Я использую модальный бокс fancybox с iFrame. При успешном заполнении формы из iFrame я использую следующий код:

<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 для обновления на родительской странице из iFrame с помощью Jquery.

Я хочу, чтобы целевой DIV на родительской странице с id = "target" обновлялся, а НЕ на всей странице. Как мне это сделать с помощью JQuery?

ТИА

Пример кода ниже

Родительская страница

<!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. Прямо сейчас обновляется вся родительская страница.

Ответы [ 2 ]

3 голосов
/ 27 мая 2011

Передайте второй параметр в jQuery с желаемой областью действия

Заменить window.setTimeout('window.top.location.href = "/page.asp"; ',999); следующим:

window.setTimeOut(function(){
    $("#target", window.parent).load("/page.asp #target");
},999);
0 голосов
/ 19 июля 2011

Этого можно добиться, вызвав функцию javascript на родительской странице со страницы, содержащейся в iframe.

window.parent.myFunctionInParent('my param');

Вы можете шаг за шагом научиться технике в Как частично обновить родительскую страницу со страницы внутри iframe .

Надеюсь, это поможет.

...