在iframe中设置输入文本并提交

时间:2009-07-02 11:28:53

标签: javascript html forms iframe

我正在尝试通过将值从一个传递给另一个来粘合两个Web服务,遗憾的是没有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 个答案:

答案 0 :(得分:7)

不是那么简单:

myframe.document.getElementById("searchForm").searchTerm.value = 'hello';
myframe.document.getElementById("searchForm").submit();

确保您的脚本在加载iframe后运行。您的iframe代码有一个onload事件,可用于确定何时加载框架中的页面。

<iframe src="formPage.html" onload="loaded()" name="myframe" />

答案 1 :(得分:6)

请注意,如果您的iframe源不是来自您的服务器,则无法使用包含iframe的网页中的javascript访问其内容。如果您可以访问来自其他服务器的iframe内容,则可以使用以下命令访问父页面中的所有数据:

window.top

如果您无法访问iframe的页面,那么您无能为力。

答案 2 :(得分:2)

您是否可以从服务器代码访问Web服务?

如果是这样,我会解雇iframe并在您的服务器上创建代理。这样可以使您的HTML保持干净,轻松,适合目标受众。