原来做了个用户注册登录的系统,以前都要登录后页面刷新才能知道密码是否正确,用户名是否合法等等。刚看了别人的才知道可以用javascript验证用户输入,自己学着写了一下,但eclipse运行后,既不报错,也不显示我想表示的:如果用户名为空,则文本框后面显示“请输入用户名”,如果用户名长度不符合则显示“用户名不得小于3个或大于12个 ”。关键代码如下,希望大牛指正<head>
<title>LoginSystem</title>
<script type="text/javascript">
function checkUsername(){
if(document.form1.username.value==""){
document.getElementById("username").innerHTML= "<font color='red'>请输入用户名 </font>";
return false;
}
if(document.form1.username.value.length<3||document.test.username.value.length>12){
document.getElementById("username").innerHTML= "<font color='red'>用户名不得小于3个或大于12个 </font>";
return false;
}
document.getElementById("username").innerHTML= " ";
}
</script>
</head>
<body>
<form action = "LoginSystem.jsp" method = "post" name = "form1">
用户名:<input type="text" name="username" id = "username" onBlur="checkUsername(this.value)"/><br>
<span id = "username"></span>
密码:<input type = "password" name = "password" ><br>
<input type = "submit" value = "登录">
<input type = "reset" value = "重置"><br>
<a href = "RegistSystem.html">注册用户</a>
</form>
</body>

解决方案 »

  1.   

    另存为htm,试试
    <html>
    <head>
    <title>LoginSystem</title></head>
    <body>
    <form action = "LoginSystem.jsp" method = "post" name = "form1">
    用户名:<input type="text" name="username" id = "username" /><br>
    <span id = "u2"></span>
    密码:<input type = "password" name = "password" ><br>
    <input type = "submit" value = "登录">
    <input type = "reset" value = "重置"><br>
    <a href = "RegistSystem.html">注册用户</a>
    </form>
    <script type="text/javascript">
    var n=document.getElementById("username");
    var t=document.getElementById("u2");
    n.onblur=function(){
    if(n.value==""){
    t.innerHTML="<font color='red'>请输入用户名 </font>";
    n.value="";
    n.focus;
    }
    else{
    if(n.value.length<3||n.value.length>12){
    t.innerHTML= "<font color='red'>用户名不得小于3个或大于12个 </font>";
    n.value="";
    n.focus;
    }
    }
    }
    </script>
    </body>
    </html>