Установить входной текст внутри iframe и отправить
Я пытаюсь склеить две веб-службы, передавая значение от одного к другому, к сожалению, нет API или четкого способа взлома поискового запроса, поэтому мне нужно установить значение ввода внутри iframe.
вот разметка для ужасного iframe.
<form id="searchForm" method="post" action="/search/initialSearch">
<fieldset class="searchFields">
<input type="text" name="searchTerm" value=""/>
<input type="submit" value="Find stops"/>
</fieldset>
</form>
Мне нужно установить текст searchTerm, а затем отправить форму.
Примечание: это происходит на мобильном телефоне, поэтому я предпочел бы действительно легкое решение
3 ответов
разве это не так просто, как:
myframe.document.getElementById("searchForm").searchTerm.value = 'hello';
myframe.document.getElementById("searchForm").submit();
убедитесь, что ваш скрипт запускается после iframe
загружается. Ваш iframe
тега onload
событие, которое можно использовать для определения загрузки страницы в кадре.
<iframe src="formPage.html" onload="loaded()" name="myframe" />
просто имейте в виду, что если источник вашего iframe не поступает с вашего сервера, невозможно получить доступ к его содержимому с помощью javascript со страницы, содержащей iframe. Если у вас есть доступ к содержимому iframe, поступающему с другого сервера, вы можете получить доступ ко всем данным с родительской страницы с помощью:
window.top
Если у вас нет доступа к странице iframe, то вы ничего не можете сделать.
вы можете получить доступ к веб-службе из вашего кода сервера?
Если это так, я бы уволил iframe и создал прокси-сервер на вашем сервере. Это позволит сохранить ваш HTML чистым и легким для вашей целевой аудитории.