2016-06-11 74 views
1

发送短信我有一个提交表单的用户使用注册:如果正确输入数据JS上正确输入

<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>" name="form" onSubmit="return validate(this);"> 
<div class="form-group"> 
    <input type="text" id="name" name="name" class="inputs" /><br /> 
    <input type="text" id="email" name="email" class="inputs" /><br /> 
    <input type="password" id="password" name="password" class="inputs" /> 
</div> 
<input type="submit" class="btn1" name="register" value="Register" /> 
</form> 

的JS代码检查。如果用户输入的日期不正确,JS代码显示一条消息。现在我想在数据输入正确时显示一条消息。我试图添加一行像if (errors.length < 0)但这没有奏效。 JS代码向我发送“正确输入”消息和消息“不使用符号... \ n”。

我该如何做到这一点?

这里是我的JS代码:

<script type="text/javascript"> 
var ck_name = /[A-Za-z0-9. ]{3,25}$/; 
var ck_email = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
var ck_password = /^[[email protected]#$%^&*()_]{6,20}$/; 

function validate(form) 
{ 
var name = form.name.value; 
var email = form.email.value; 
var password = form.password.value; 

var errors = []; 

if (!ck_name.test(name)) 
    { 
    errors[errors.length] = "Name error! ."; 
    } 

if (!ck_email.test(email)) 
    { 
    errors[errors.length] = "Email error! ."; 
    } 

if (!ck_password.test(password)) 
    { 
    errors[errors.length] = "Password error!"; 
    } 

if (errors.length > 0) 
    { 
    reportErrors(errors); 
    return false; 
    } 

return true; 
} 

function reportErrors(errors) 
{ 
var msg = "Dont use symbols...\n"; 
for (var i = 0; i<errors.length; i++) { 
var numError = i + 1; 
msg += "\n" + numError + ". " + errors[i]; 
} 
alert(msg); 
} 
</script> 

回答

2

Errors.length永远不会是次要的0您必须使用等号(= =)。这工作! :-)

UPDATE

if (errors.length == 0) { 
alert('Correct input'); 
} 

这将是真正的回报语句之前和IF(errors.length> 0)之后。

+0

我也试过这个。这给了我相同的结果。我收到了'(erros.length == 0)'和'“的消息''不要使用符号... \ n”' – John

+0

对不起,我的答案有一个错字,它是错误,而不是错误。你可以尝试这种改变吗? –

+0

我没有收到以下代码的任何消息: 'if(errors.length == 0){ errors [errors.length] =“正确输入”; }' – John