2016-09-16 3 views
0

Проблема в том, что я не могу получить значение моих полей пароля - предупреждение с pso1 возвращает null. Я не вижу ошибок в этом коде, поэтому я прошу помощи (попрошайничество). JS не получает значения от ввода

<form class='container' onsubmit="return checkit()"> 
    <h1> Javascript </h1> 
    Login <input type='text' id='log'><br> 
    Password <input type='password' id='pso1'><br> 
    Confirm passwordd <input type='password' id='pso2'><br> 
    <button>Register</button> 
</form> 

<script type="text/javascript"> 
    var pso1=document.getElementById('pso1').value ; 
    var pso2=document.getElementById('pso2').value ;  
    alert(pso1); 
    function checkit(){ 
     if(pso1=!pso2){ 
      return false; 
      alert('Passwords are not the same.'); 
     } 
     else{ 
      return true; alert('work'); 
     } 
    } 

</script> 

</body> 
+3

Вы устанавливаете значение переменных вне функции, когда страница загружается. – TZHX

+0

Постановка 'alert()' после 'return' не будет работать. 'return' оставляет функцию и ничего после нее не выполняется. – Barmar

ответ

1

В своем коде вы устанавливаете значения pso1 и ps02 один раз сразу после загрузки страницы, прежде чем их значения изменяются. Вы хотите обновить эти значения вместо этого, объявил их как локальные переменные внутри вашей функции:

function checkit(){ 
    var pso1=document.getElementById('pso1').value; 
    var pso2=document.getElementById('pso2').value; 
    if(pso1=!pso2){ 
     return false; 
     alert('Passwords are not the same.'); 
    } 
    else{ 
     return true; alert('work'); 
    } 
} 
+0

Спасибо :))))))))) –

0

Вы только объявленной функцию CHECKIT. Вам нужно вызвать эту функцию, чтобы ее проверить.

+0

Он называет это здесь: '

' – Barmar

+0

Yup, вы правы. Я пропустил это. – Samuel

+0

Вы должны удалить свой ответ, если это не имеет значения. – Barmar