【问题标题】:submitting the form in iframe and redirect the whole page在 iframe 中提交表单并重定向整个页面
【发布时间】:2012-03-10 06:23:22
【问题描述】:

我想我有一个简单的问题,但我还没有找到正确的答案。 我的页面中有一个来自外部域的 iframe。提交此 iframe 内的表单后,我想重定向整个页面,而不仅仅是 iframe 内的内容 - 我想正确的实现方法可能是通过“target”属性。
示例 html:

<html>
  <body>
    <h1>main page</h1>
    <iframe src="http://example.com">
      <form url="http://example.com/action">
        ...
      </form>
    </iframe>
  </body>
</html>

提交表单应该会显示提交 POST 请求作为新页面(不在 iframe 中)的结果

【问题讨论】:

    标签: forms iframe redirect


    【解决方案1】:

    我已将 target='_parent' 放入 iframe 中,但我最初并未在 form 元素中执行此操作。将target='_parent' 属性添加到form 后,它开始按预期工作。

    【讨论】:

    • 谢谢先生!这让我快疯了......所以你需要更改 iframe 还是只更改表单?
    • @d.raev 如果我没记错的话,我已经改变了两者并且它有效。我认为我只更改了一个时它不起作用,但请自行检查:)
    • 只有&lt;form&gt; 元素上的target 属性在这里很重要。 &lt;iframe&gt; 元素没有 target 属性,添加它会使您的 HTML 无效。
    • 在一种特殊情况下,我需要使用target="_top",否则表单将在新选项卡中发布到其操作。从_parent 切换到_top 允许表单发布到当前窗口,完全按照需要接管它。
    • 谢谢你!我在 Asp.net 中遇到了 MSAL 集成问题。 Azure 阻止来自 iFrame 的重定向。我只是把这个标签放在
    【解决方案2】:

    target 属性添加到iframe 内的form

    <form action="foobar" method="post" target="_parent">
      ...
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      相关资源
      最近更新 更多