首页 > 解决方案 > 验证用户名后,Javascrippt 不重定向用户

问题描述

<html>
<head>
</head>
    <body>

    <script>
        function myFun(){

            var correct_way = /^[A-Za-z0-9]+$/;

            var a = document.getElementById("User_Name").value;

            if(a=="") {
                document.getElementById("Message").innerHTML="Please enter a username.";
                return false;
            }
            if(a.length<5){
                document.getElementById("Message").innerHTML="Please enter a username with 5 or more characters";
                return false;
            }
            if(a.match(correct_way))
                document.location.href = "test1.html";
                else{
                document.getElementById("Message").innerHTML="Please enter a username with only letters and integers";
                return false;
            }


        }
    </script>

    <form onsubmit="return myFun()">
    <input type="text" id="User_Name" value=""></input>
    <br></br>
    <span id="Message">  </span> 
    <br></br>
    <input type="submit" value="Submit"></input>
    </form>
    </body>

</html>

你好,我创建了一个用户名验证码。验证确实有效,但用户不会被重定向到“test1.html”文档。它们都在同一个文件夹中。检查验证后如何使其重定向?

标签: javascripthtml

解决方案


您应该true在 function 结束时返回myFun

HTML

<form action="test1.html" onsubmit="return myFun()">
<input type="text" id="User_Name" value="" />
<span id="Message">  </span> 
<input type="submit" value="Submit" />
</form>

更新代码

function myFun(){
        var correct_way = /^[A-Za-z0-9]+$/;

        var a = document.getElementById("User_Name").value;

        if(a=="") {
            document.getElementById("Message").innerHTML="Please enter a username.";
            return false;
        }
        if(a.length<5){
            document.getElementById("Message").innerHTML="Please enter a username with 5 or more characters";
            return false;
        }
        if(a.match(correct_way)){
              alert("Sucessful Login, welcome to BREAKOUT!");

        }
            else{
            document.getElementById("Message").innerHTML="Please enter a username with only letters and integers";
            return false;
        }

    return true;    
    }

jsFiddle 演示 - http://jsfiddle.net/h67q09mp/


推荐阅读