2015-12-02 2 views
2

Я не могу понять, почему мой код не подтверждает мое входное значение. Я получаю «не работает» для всех сценариев.Функция не подтверждает ввод

Это мой код:

<body> 


<input type="text" placeholder="User Name" id="id_inputuser"/> 
<label>Enter User Name</label><br> 
<input type="text" placeholder="Password"id="id_inputpass"/> 
<label>Enter Password</label><br><br> 

<button onClick="verify()">Enter</button> 
</body> 

Javascript:

var user = document.querySelector('#id_inputuser').value; 

function verify() 

{if (user == "david") 
{alert("working");} 

else{alert("not working")}; 
} 

Может кто-то помочь?

Большое спасибо!

+0

Можете ли вы перечислить ваши сценарии? Если вход не является «david», он не сработает ... что такое желаемое поведение? – ZachB

+0

Когда я вводил «david», он все еще пишет «не работает» – user3185970

ответ

2

Вы должны прочитать входное значение внутри функции.

function verify(){ 
    var user = document.querySelector('#id_inputuser').value; 
    if (user == "david"){ 
     alert("working"); 
    } 
    else{ 
     alert("not working"); 
    } 
} 

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

+0

Когда я кладу var внутри функции, я получаю сообщение об ошибке: Неожиданный токен var. Ты знаешь почему? – user3185970

+0

Да, у вас есть опечатка с скобками или скобками. Проверьте все. В исходном коде, например, в предложении else, у вас была точка с запятой предупреждения из закрывающей скобки. – nanocv

+0

Если вы не скопировали мой код, а использовали его, возможно, вы написали это предложение до открытия скобки функции (между «verify()» и «{if»). Это приведет к ошибке. – nanocv

0

Ваш вызов querySelector получает значение, когда поле пуст, а это означает, что DOM готов, а не после изменения поля ввода. Вам нужно поймать значение, когда вы вызываете функцию, которую вы предоставили.

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