为了账号安全,请及时绑定邮箱和手机立即绑定

为什么提交表单后,原窗口不会关闭?

为什么提交表单后,原窗口不会关闭?

耂虍 2016-12-27 17:49:11
                    <div class="modal-body">                 <form action="" class="form center-block" onsubmit="login()">                     <div class="form-group">                         <input type="text" id="username" class="form-control input-lg" placeholder="请输入用户名">                     </div>                     <div class="form-group">                         <input type="password" id="password" class="form-control input-lg" placeholder="请输入密码">                     </div>                     <div class="form-group">                         <button class="btn btn-primary btn-lg btn-block" type="submit">登录</button>                     </div>                 </form>                     </div>          <script type="text/javascript">  function login() {  var un = document.getElementById("username").value;         var pw = document.getElementById("password").value;         if (un == "admin" && pw == "admin") {  window.open("TXL.html", '_blank');             this.window.close();             return true;  }  else {  alert("登录失败");             return false;  }     } </script>
查看完整描述

1 回答

已采纳
?
Caballarii

TA贡献1123条经验 获得超629个赞

window.open和window.close都会有被浏览器拦截的可能性

建议直接用window.location.href="TXL.html"代替

window.open("TXL.html", '_blank');

this.window.close();

这两行

查看完整回答
反对 回复 2016-12-27
  • 耂虍
    耂虍
    我换成这句后,点击提交,页面只是刷新了一下,还是原来的输入表单,没有打开新页面=。=
  • Caballarii
    Caballarii
    原因在于你写在form的submit里面,submit执行以后会跳到form的action里面,而你action是空的,所以跳回了原链接,就没变。 要么直接把form上的action写成TXL.html <form action="TXL.html" class="form center-block" onsubmit="login()"> 要么把onsubmit="login()"删掉,登录的type改成button,login函数绑到button上 <button class="btn btn-primary btn-lg btn-block" type="button" onclick="login()">登录</button> 两种方法自己体会
  • 耂虍
    耂虍
    用的第二种方法成功了,谢谢。不过还有个疑问,为什么用第一种方法,就算你账号密码填错了,还是会跳转。
点击展开后面1
  • 1 回答
  • 0 关注
  • 2416 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信