2013-03-05 36 views
-1

我一直试图让我的密码,以验证下列条件:登录密码查看HTML JAVASCRIPT

  • 如果密码/用户名少于5个字,错误框将会出现
  • 如果密码/用户名/既没有输入,错误框将会出现
  • 如果密码不正确,错误框将会出现
  • 如果密码正确,对话框将会出现,表示成功登录

这里是我的JavaScript编码:

<script> function validateForm() 
{ 
var x=document.forms["Login"]["user"].value; 
var y=document.forms["Login"]["pass"].value; 
if (x==null || x=="") 
    { 
    alert("Error: Username and password must be entered "); 
    return false; 
    } 
if(x.length<5){ 
    alert("Your username must be at least \n5 characters long. \n Please try again."); 
    return false; 
    } 
if (y==null || y=="") 
    { 
    alert("Error: Username and password must be entered"); 
    return false; 
    } 
if(y.length<5){ 
    alert("Your username must be at least\n5 characters long.\n Please try again."); 
    //Login.txtpass.value = ""; 
    //Login.txtpass.focus(); 
    return false; 
} 
else{ 
alert("Error: Please check that you've entered and confirmed your password!"); 
return false; 

} 

alert("You entered a valid password: " + Login.pass.value); 
return true; 

} 
</script> 

在分以上的所有3成功发生,但现在不可能有​​我创建的脚本之前存在一个成功的登录。我将如何获得登录通过JavaScript做到这一点?

谢谢

+1

当用户通过打开控制台可以很容易地禁用所有的工作时,为什么要在客户端做所有这些工作?我会建议在这个服务器端进行一些验证。 – 2013-03-05 16:52:57

+0

哦,关于你的验证规则;用户无法将其密码设置为“00000000000”?因为'(00000000000 ==“”)= true' – 2013-03-05 16:55:30

+2

@RobinvanBaalen - 当然,您需要进行服务器端验证,但这并不意味着客户端检查是无用的。通过JavaScript验证基本功能可让您向用户提供快速反馈,而不需要往返服务器。 – 2013-03-05 16:56:54

回答

1

你总是返回之前,你去最后一次警报。

if(y.length<5){ 
    // something 
    return false; 
} 
else{ 
    // something 
    return false; 
} 
// you can't go there ! 

试图实现的逻辑并不清楚,但你或许应该删除最后一个块开始else{

+0

多数民众赞成在正确的,它确实工作没有最后一个人,但这种打败目的。 – user2121536 2013-03-05 17:03:45