Получение данных из iframe с помощью JavaScript - PullRequest
0 голосов
/ 23 июня 2010

У меня есть простая страница с iframe. В этом кадре есть три поля ввода, которые пользователь заполняет. Как получить эти данные в каждом поле ввода с помощью js?

Вот JS :

<script type="text/javascript"> var ticket = window.frames[0].document.getElementById('ticket').ticket; alert(ticket); </script>

И у меня есть внутренняя рамка:

<input type='text' name='ticket' id='ticket'...

Ничего не происходит, когда я заполняю все 3 поля ввода и нажимаю ок. Как сохранить эти данные, которые заполнили эти поля ввода в файл .txt, чем я могу получить этот текст по php и заполнить базу данных.

Ответы [ 2 ]

1 голос
/ 23 июня 2010

Я не уверен, что iframes доступны через свойство window.frames.Вы можете попробовать что-то вроде этого:

var frame = document.getElementsByTagName("iframe")[0]
  , form = frame.contentDocument.forms[0];
alert("OK: ticket=" + form.ticket.value);

Сохранение значений формы в базе данных - это еще одна проблема.Возможно, проще всего полностью избежать JavaScript и просто заставить форму внутри iframe выполнить POST для вашего собственного обработчика PHP, который может сохранять содержимое по мере необходимости.

0 голосов
/ 23 января 2013

Я потратил много времени, пытаясь выяснить, как обмениваться данными между текстовыми полями в двух фреймах. (Я являюсь автором обоих фреймов). После многих потраченных впустую времени и поиска решений в Интернете, решение было, конечно, невероятно легким. Каждый в Интернете делает НАМНОГО более сложные вещи. Для тех из вас, кто хочет сделать что-то простое!

У меня есть главная страница с двумя IFRAME (ID = ifr1 и ifr2). Каждый фрейм имел текстовое поле (ID = tb1ifr1)). В javascript вы можете получить содержимое tb1 в iframe ifr2, просто используя

parent.ifr1.tb1.value или parent.ifr1.document.getElementByID(‘tb1’).value.

Чтобы изменить значение, очевидно, "

parent.ifr1.tb1.value=”whatever” или parent.ifr1.document.getElementByID(‘tb1’).value=”whatever”

Вы также можете получить доступ к переменной из ifr1 из ifr2, используя

parent.ifr1.var_in_ifr1, где var_in_ifr1 определяется в сценарии ifr1

var var_in_ifr1=”whatever”

...