条件满足时的Javascript重定向

Javascript redirect upon condition fulfillment

本文关键字:Javascript 重定向 满足 条件      更新时间:2023-09-26

我有一个html页面,其中包含输入部分和提交按钮。输入部分接受一个字符串。然后,字符串被传递到Javascript函数中,当"提交"按钮,则使用if语句检查该字符串的长度。如果字符串长度为20个字符,理论上应该将用户重定向到另一个网站。这是我需要完成的代码:

function validate() {
 var value = document.getElementById('myfunction').value;
 if (value.length == 20) {
   window.location.href ="http://www.example.com";
 }
 else{
  return false;
}
}
<input style = "margin-right: 8px;" type = "text" name = "con" id = "myfunction" required=''/>
<input type = "submit" value = " Submit " class='next btn btn-primary' id = "buttonze" onclick = "validate();"/><br />

运行带有20个字符的字符串的代码后,什么也没有发生。由于某些原因,它没有将我重定向到example.com。我不确定我做错了什么,希望有人能指出来。我知道它正在执行if语句,因为我放置了一个警告语句来测试它,当我输入该语句时,它成功弹出。

如果您使用safari,您需要将return false添加到onclick:

onclick = "validate();return false;"

将"submit"类型更改为"button",参见答案

<input type="button" value="Submit" class="next btn btn-primary" id = "buttonze" onclick = "validate()"/>
示例

这段代码应该可以工作了:

<html>
<body>
    <input style="margin-right: 8px;" type="text" name="con" id="myfunction" required='' />
    <input type="submit" value="Submit" class='next btn btn-primary' id="buttonze" onclick="validate();" /><br />
    <script>
        function validate() {
            var value = document.getElementById('myfunction').value;
            if (value.length == 20) {
                window.location.href = "http://www.example.com";
            }
            else {
                return false;
            }
        }
    </script>
</body>
</html>