首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript弹出窗口:提交表单,显示“等待”屏幕5秒,然后自动关闭弹出窗口。

Javascript弹出窗口:提交表单,显示“等待”屏幕5秒,然后自动关闭弹出窗口。
EN

Stack Overflow用户
提问于 2014-01-27 21:31:29
回答 2查看 2.9K关注 0票数 1

我有一个弹出窗口,要求用户填写一张表格。一旦表单提交,我需要带他们到一个“等待”屏幕内的同一弹出,而他们的信息被检查。这是一个原型,所以它只需要延迟大约5秒,因为没有任何实际的检查。然后,我想在延迟之后自动关闭弹出窗口,而不是使用附加在按钮上的window.close();

下面是我使用的脚本:(编辑以删除内联js)

代码语言:javascript
复制
function centeredPopup(url,winName,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
popupWindow = window.open(url,winName,settings)
}

$('#linkPopup').click(function(){
    $(this).click(centeredPopup("popup.php","Popup Name","680","560"));

    if(window.location.href=='popup_waiting.php'){
        setTimeout(function() {
        close.window();
        }, 5000);
    }   
});

我如何解雇弹出窗口:

代码语言:javascript
复制
<a class="button" id="linkPopup">Popup Link</a>

使用上面的代码,表单只是提交给等待屏幕,但在指定的持续时间后不关闭它,所以我假设我的语法或结构有问题。

预期行为:

EN

回答 2

Stack Overflow用户

发布于 2014-01-27 22:04:17

下面是一个柱塞:http://plnkr.co/edit/EAWf6EPauBuz36Wu8Erk?p=info

首先,考虑为什么不应该使用内联javascript。

为了打开弹出窗口,您可以使用:

window.open();

window.open(strUrl,strWindowName,strWindowFeatures);

弹出窗口打开后,可以用

window.close();

您需要设置一个计时,等待5秒,然后关闭弹出窗口

Window.setTimeout( param1,param2,.);

票数 0
EN

Stack Overflow用户

发布于 2014-01-29 16:35:54

我通过在等待页面弹出中包含以下内容来解决这个问题:

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function() {
setTimeout(function(){ 
    window.opener.location.href = "parentpage.php";
    window.close();
}, 2000); 
});
</script>

这就行了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21392110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档