Javascript没有重定向页面

时间:2014-04-21 17:09:16

标签: javascript

我有以下HTML代码:

<html>
    <head>
        <script type="text/javascript" src="buttonClicked.js"></script>
    </head>
    <body>
        <form id="confirmChangeId" name="selectionForm" method="POST">
            <input id="btnChange" type="submit" value="Change">
        </form>
    </body>
</html>

使用以下javascript:

window.onload = function() {
    initFunc();
}

var initFunc = function() {
    var change = document.getElementById("btnChange");
    change.onclick=function() {
        window.location.href='http://stackoverflow.com';
        //alert("change button clicked"); // If this line is uncommented, then the page re-direction does occur
    }
}

使用Firefox,当在JS文件中取消注释警报时,确实会发生重定向。为了在工作中投入更多扳手,使用Chrome或Opera时无论如何都不会发生重定向。我显然在这里遗漏了一些小东西,但却找不到它是什么。建议?

3 个答案:

答案 0 :(得分:2)

如果您希望重定向可靠地工作,则必须在onlick函数的末尾添加return false;

注意:您应该将事件侦听器附加到对象,而不是使用过时的onclick属性。

var change = document.getElementById("btnChange");
change.addEventListener('click', function(event) {
    event.preventDefault(); // stops the click from completing
    window.location.href='http://stackoverflow.com';
}, false);

答案 1 :(得分:1)

在您的函数中添加return false;。在重定向之前提交的其他表单

 var initFunc = function() {
 var change = document.getElementById("btnChange");
 change.onclick=function() {
    window.location.href='http://stackoverflow.com';
    return false;
    //alert("change button clicked"); // If this line is uncommented, then the page re-         direction does occur
  }
 }

答案 2 :(得分:1)

以下代码应该有效。您必须在onlcik函数中添加return false。你需要事件监听器。

见下文:

<script>
window.onload = function() {
    initFunc();
}

var initFunc = function() {
    var change = document.getElementById("btnChange");
change.addEventListener('click', function(event) {
    event.preventDefault(); // stops the click from completing
    window.location.href='http://stackoverflow.com';
}, false);
}
</script>

<html>
    <head>

    </head>
    <body>
        <form id="confirmChangeId" name="selectionForm" method="POST">
            <input id="btnChange" type="submit" value="Change">
        </form>
    </body>
</html>