首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript只是不重定向,而是重新加载index.html

Javascript只是不重定向,而是重新加载index.html
EN

Stack Overflow用户
提问于 2015-01-18 12:25:13
回答 2查看 90关注 0票数 0

所以,我试图制作一个小的虚拟登录表单,当我点击一个按钮时,它会将我重定向到另一个页面上。但是它没有,而是重新加载了index.html。

HTML (编辑):

代码语言:javascript
复制
<div class="modal fade" id="login" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <form action="" class="form-horizontal">
                    <div class="modal-header">
                        <h4>Log In</h4>
                    </div> <!-- End of Modal Header -->
                    <div class="modal-body">

                        <div class="form-group">

                            <label for="login-name" class="col-lg-2 control-label">Username</label>
                            <div class="col-lg-10">
                                <input type="text" placeholder="Enter Your Username" class="form-control" id="login-name">
                            </div>
                        </div> <!-- End of -->

                        <div class="form-group">

                            <label for="login-name" class="col-lg-2 control-label">Password</label>
                            <div class="col-lg-10">
                                <input type="password" placeholder="Enter Your Password" class="form-control" id="login-name">
                            </div>
                        </div> <!-- End of -->
                        <div class="form-group">

                            <button class="btn btn-default pull-right btn-large" id="loginBtn" style="margin-right: 20px;">Login</button>

                        </div> <!-- End of -->

                    </div> <!-- End of Modal Body -->
                    <div class="modal-footer">
                        <a href="#" class="btn btn-default btn-xs">Forgot Password</a>
                        <a href="#" class="btn btn-default btn-xs">Sign Up</a>
                        <a href="#" class="btn btn-default btn-xs" data-dismiss="modal">Close</a>
                    </div> <!-- End of Modal footer -->
                </form>
            </div> <!-- End of Modal Content -->
        </div> <!-- End of Modal Dialog -->
    </div> <!-- End of Modal Fade LOGIN -->

联署材料:

代码语言:javascript
复制
window.addEventListener("load",init, false);

function init() {
    var loginBtn = document.getElementById("loginBtn");
    loginBtn.addEventListener("click", checkLogin, false);
}

function checkLogin(e) {
    alert("FIRED");
    if(1>0){
        window.location.href = "//www.google.com";
    }
}

一开始,我想也许它没有重定向,因为它根本没有调用函数,但是它调用了。每次都会触发警报,但它只是重新加载页面。

当我告诉它在init函数中这样做时,它也会很好地重新定位。我哪里出问题了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-18 12:51:15

<button>元素的默认行为是执行提交操作。因为您没有取消它,所以表单将被提交,而您对location.href所做的更改将被忽略。由于您没有为action=""指定一个值,所以提交只会导致当前页面刷新。

您可以通过三种不同的方法来避免这种情况:

  1. 在按钮上指定type="button"

代码语言:javascript
复制
<button class="btn btn-default pull-right btn-large" 
        id="loginBtn" style="margin-right: 20px;" type="button">Login</button>
  1. inputtype="button"结合使用

代码语言:javascript
复制
<input class="btn btn-default pull-right btn-large" value="Login"
        id="loginBtn" style="margin-right: 20px;" type="button" />
  1. 防止事件处理程序中的默认行为:

代码语言:javascript
复制
function checkLogin(e) {
    e.preventDefault();

    alert("FIRED");
    if(1>0){
        window.location.href = "//www.google.com";
    }
}
票数 0
EN

Stack Overflow用户

发布于 2015-01-18 14:05:42

您还可以使用更简单的方式,在按钮标记中使用window.location.href,如下所示:

代码语言:javascript
复制
<button class="Whatever you want to call it" onclick="window.location.href='The_Page_You_Want_To_Redirect_To.html'"></button>

然后,您就可以按需要使用CSS对按钮进行样式设置。

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

https://stackoverflow.com/questions/28009618

复制
相关文章

相似问题

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