2015-12-27 4 views
0

Я в настоящее время делаю javascript и html мини-логин. Я создал javascript-код, который проверяет длину пароля и проверяет, совпадают ли пароли и пароль подтверждения. Вот код ...Javascript - ящик входа не работает

<form name = "logme"> 
 
<fieldset> 
 
<legend>Create Your Account!</legend> 
 
<br> 
 
<p>Username:*<input type="text" name="user" placeholder="Enter Your Name"> 
 
<br> 
 
<br> 
 
Password:*<input type="password" id="pass"> 
 
<br> 
 
<p>Confirm Password:*<input type="password" id="passwd"> 
 
<br> 
 
<p>Email:*<input type="text" id="email" placeholder="[email protected]"> 
 
<br> 
 
<br> 
 
Show Password:<input id="chk" name="chk" type="checkbox" onclick="validate()" /> 
 
<br> 
 
<br> 
 
<input type="button" value="Create!" name="Submit" onclick="pwFunction()"> 
 
</p> 
 
<a href="create.html">Don't Have An Account? Create One!</a> 
 
</fieldset> 
 
</form>
<script> 
 

 
function pwFunction() { 
 
var password = document.getElementById('pass'); 
 
var lok = password.value.length >= 8; 
 
var cpassword = document.getElementById('passwd'); 
 

 
if (!lok) { 
 
     alert('Your Password Must Have Eight Characters!'); 
 
    } 
 
    return lok; 
 

 
if(password.value != cpassword.value) { 
 
    alert('Your Passwords Do Not Match!'); 
 
    } 
 
} 
 
    
 
</script>

Это работает только «Ваш пароль должен состоять из восьми символов» оповещения. Почему это не работает? Спасибо за любые ответы и извините за неудобства.

ответ

0

Как и вы, инструкция return выполняется всегда, поэтому она останавливает выполнение функции и возвращает результат. удалить оператор возврата:

if (!lok) { 
    alert('Your Password Must Have Eight Characters!'); 
} 

if(password.value != cpassword.value) { 
    alert('Your Passwords Do Not Match!'); 
} 
0

Try

if(password.value !== cpassword.value) { 
alert('Your Passwords Do Not Match!'); 
} 
1

Есть несколько ошибок в коде/скриптов:

Edit 1. Изменение кнопки

<input type="submit" value="Create!" name="Submit" >

Редактировать 2. Использовать проверку javascript на теге формы

<form name = "logme" action="somewhere" onsubmit = "return pwFunction();"> 

Таким образом, форма отправляется только тогда, когда функция pwFunction() возвращает true.

Edit 3. Ваша Javascript функция должна быть:

function pwFunction() { 
 
var password = document.getElementById('pass'); 
 
var cpassword = document.getElementById('passwd'); 
 

 
if (password.value.length < 8) { 
 
     alert('Your Password Must Have Eight Characters!'); 
 
    return false; 
 
    } 
 

 
    if(password.value != cpassword.value) { 
 
    alert('Your Passwords Do Not Match!'); 
 
    return false; 
 
    } 
 
    else 
 
    { 
 
     return true; 
 
    } 
 
}

Смежные вопросы