2013-09-13 2 views
3

У меня есть этот минимальный тестовый случайОбновление родителя из фрейма с помощью JQuery

a.html

<!DOCTYPE html> 
<html> 
<body> 
    <input type="text" id="myinput"> 
    <iframe id="frame" src="b.html" style="width:100%;height:100%" frameBorder="0"></iframe> 
    </body> 
</html> 

b.html

<!DOCTYPE html> 
<html> 

<body> 
    <script> 
     function update_parent(value) { 
      window.parent.document.getElementById('myinput').value=value; 
     } 
    </script> 
    <a class="tag" name="something" href="javascript:void(0)" onclick="update_parent(something)"/>Bla Bla</a> 
    </body> 

</html> 

Цель здесь, чтобы обновить поле ввода в родительских окна, когда кнопка нажата на iframe. Я попытался сделать это, используя простой javascript, как вы можете видеть выше, но он тоже не работает. Я хочу сделать это с помощью jquery, если это возможно.

+0

Работает для меня: http://jsfiddle.net/HVBZD/ – Sergio

+0

jQuery не является полной заменой для javascript. Вам не нужно все это заменять. – Ventura

ответ

0

Ваш родительский элемент будет window.self.top Вы можете получить доступ к содержимому или документу родительского элемента.

Сказав, что ваш код должен выглядеть следующим образом:

$(window.self.top.document).find('#myinput'); 

Это даст вам элемент родителя.

11
function update_parent(value) { 
    $('#myinput', window.parent.document).val(value); 
} 

Второй параметр для оболочки $() - это контекст для поиска. Это значение по умолчанию для документа, поэтому передача родительских устанавливает родительский элемент в качестве контекста поиска.

Смежные вопросы