繁体   English   中英

当用户点击提交按钮时需要发布并关闭窗口

[英]Need to POST and close window when user clicks submit button

现在我有以下几点:

<%= submit_tag 'Save' ,{:onClick => "window.close()"} %>

这适用于关闭窗口。 不幸的是,它在表单 POST 到服务器之前关闭了窗口。

该窗口是使用主页中的链接创建的:

function amenitiesPopup(){
  window.open("/amenities", "Swag", "status,width=600,height=800,resizable,scrollbars=yes","POS"); 
}

没有:onClick => "window.close()"表单按预期发布。 之后只需要关闭它。

谢谢

编辑:我的解决方案是让控制器返回一个字符串文字:

if (params[:search])
    ...
    render :text => '<body onload="window.close()"></body>'
end

这将跳过任何布局/视图项目,只呈现一个自动关闭的空主体

刚回来

<body onload="window.close()">

从服务器,这样你的 POST 肯定会在窗口关闭之前通过。 因此,不是从提交文档中关闭,而是在服务器作为回复收到的文档中关闭。 此外,如果您想在之后关闭窗口,您可以考虑发布到 iframe,这取决于您想要实现的目标。

function onSubmit(){
    $.ajax({
        //POST info and URL etc goes here
    }).done(function(){
        window.close();
    });
}

您需要指定 jquery ajax api 所需的所有参数(url、数据等)。

如果您不使用ajax提交,您将转到您提交的页面并且将不再控制您的窗口,除非您控制目标页面,在这种情况下,您应该将 window.close 添加到目标页面的脚本中:

<script>
    window.close();
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM