点击iframe

时间:2015-06-08 08:03:58

标签: javascript jquery html

我有以下代码:

<iframe>
...
  <form id="formId" action="someurl">
  </form>
  <a href="#" onclick="$('#formId').submit(); return false;">click</a>
...
</iframe>

我想通过点击链接BUT提交表单以保持在同一页面上(而不是重定向)。我试过$(document).on('click', 'a', false);没有运气。

4 个答案:

答案 0 :(得分:2)

$('a').click(function(event){
    event.preventDefault();
    $('#formId').submit();

  }

答案 1 :(得分:1)

您可以尝试将iframe设置为沙箱并将其设置为沙箱。然后你可以使用prorerty,如:

沙箱=&#34; ...&#34;

  • 允许表单允许表单提交
  • allow-popups允许弹出窗口
  • allow-pointer-lock允许指针锁定
  • allow-same-origin允许文档保持其原点
  • allow-scripts允许执行JavaScript,还允许使用功能 自动触发
  • allow-top-navigation允许文档突破框架 导航顶级窗口

链接:http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/

<iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com"</iframe>

答案 2 :(得分:1)

使用ajax提交表单以保留当前页面。

var $form = $("#formId");

// register handler for submit first
$form.submit(function (event) {
    $.ajax({
        type: $form.attr("method"),
        url: $form.attr("action"),
        data: $form.serialize()
    })
    .done(function (data) {   

    })
    .fail(function (r, s, e) {

    });

    event.preventDefault();
});

// and then submit the form
$form.submit();

More about jQuery submit()

答案 3 :(得分:0)

所有答案看起来都是正确的,但实际上并不是最终帮助我的东西。在我的特定引文中,我想在用户点击iframe内的链接时下载文件。单击链接后,表单已提交,并且ajax请求已发送到控制器中的方法。事实证明,如果我正确实施方法向用户发送一些数据,iframe将无法重定向。最初,我一直在控制器中的空方法上测试这种重定向行为,这导致了这个问题 - 这让我感到很惊讶。