Javascript 提交表单,然后打开新窗口并关闭弹出窗口

Javascript 提交表单,然后打开新窗口并关闭弹出窗口,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我有一个出现在弹出窗口中的登录表单。我想编写一些javascript(不确定我是否应该使用常规js或Ajax),在提交表单后打开一个新的全尺寸窗口,然后关闭当前登录表单弹出窗口。我怎样才能做到这一点?我知道我的问题是,在正常情况下,表单提交后您不能做任何其他事情,因为页面会刷新/重定向等。感谢您对我的问题提供的任何帮助或解决方案 我已经研究过这个问题:但无法理解它,或者它是否适用于我的问题 表格: 用户名 暗语 记得我吗 // 将此项放在表单提交()之前。: 在登录表单打开的新窗口中,写下

我有一个出现在弹出窗口中的登录表单。我想编写一些javascript(不确定我是否应该使用常规js或Ajax),在提交表单后打开一个新的全尺寸窗口,然后关闭当前登录表单弹出窗口。我怎样才能做到这一点?我知道我的问题是,在正常情况下,表单提交后您不能做任何其他事情,因为页面会刷新/重定向等。感谢您对我的问题提供的任何帮助或解决方案

我已经研究过这个问题:但无法理解它,或者它是否适用于我的问题

表格:


用户名

暗语
记得我吗 //
将此项放在
表单提交()之前。


在登录表单打开的新窗口中,写下以下内容:

<script type="text/javascript">
if(window.opener != null) {
  window.opener.close(); // close login form
}
</script>

if(window.opener!=null){
window.opener.close();//关闭登录表单
}

这有几个问题。首先,它看起来像是在试图关闭我刚刚打开的窗口。此外,表单不希望在新窗口打开之前完成提交,因此用户看到一个窗口拒绝他们访问,因为他们没有登录,因为该窗口是在表单提交之前打开的。我想我误解了您的意思,但这是关闭表单提交窗口的方式。您要关闭的窗口是什么?在/promotional/activation表单路径打开新窗口后,我想用表单关闭窗口。我有问题的形式提交第一,但因为它需要提交之前,新的窗口是开放的。这是将用户登录到安全页面。我认为这无法按您希望的方式完成,因为在您打开新窗口时表单将不会发送。您必须在单个窗口上执行此操作。我不介意调整窗口大小,但我觉得这会成为浏览器是否允许的问题。如果您的登录在弹出窗口中打开,为什么不关闭弹出窗口并在父窗口中修改URL,而不是打开新窗口?(从你的描述来看,你会同时打开两个完整的窗口……从可用性角度来看,这可能是一件坏事)@Tim我不介意这样做,但我不知道如何修改父窗口。它是否类似于document.location.href=“/url here”?它应该与document.opener.location.href类似,我认为opener是生成弹出窗口的窗口。我已经有一段时间没有这样做了。我个人尽可能远离弹出窗口(根据我的经验,用户讨厌弹出窗口,但并非所有环境都是如此),这是我所说的示例,而不是远程登录,你可以使用你的登录表单…@Tim我已经完成了一半。我已经在姐妹网站上有了一个链接,可以创建一个特定大小的登录表单弹出窗口。这不是一扇全尺寸的窗户。这允许人们从姐妹站点键入他们的凭据,并且使这样做更容易一些。
var popup = window.open('http://www.redlakewalleye.com/promotional/activation-form','_blank');
theForm.onsubmit = function() {
    popup.close();
}
<script type="text/javascript">
if(window.opener != null) {
  window.opener.close(); // close login form
}
</script>