Я создал базовую программу, в которой пользовательский ввод превращается в оповещение при представлении. Я не могу понять, почему программа работает только по назначению, если я использую false, а не true, как первое условие в инструкции if/else. Я уверен, что это очень просто, но мне не удалось найти ничего актуального. После долгого поиска я решил опубликовать вопрос. Любые ответы будут очень благодарны.Почему порядок булевских значений влияет на эту программу?
HTML-:
<form id="greetingForm">
<input type="text" name="userInput" id="userInput"/>
<input type="submit" value="click" id="submit"/>
</form>
Разбитый сценарий:
function output(){
var input = document.getElementById('userInput').value;
if(input == true){
alert(input);
}else{
alert('Say something!');
}
}
function init(){
var greetingForm = document.getElementById('greetingForm');
greetingForm.onsubmit = output;
}
window.onload = init;
Рабочий сценарий:
function output(){
var input = document.getElementById('userInput').value;
if(input == false){
alert('Say something!');
}else{
alert(input);
}
}
function init(){
var greetingForm = document.getElementById('greetingForm');
greetingForm.onsubmit = output;
}
window.onload = init;
Возможно, 'input' не является ни истинным, ни ложным? Это строка? (Попробуйте использовать некоторые инструменты для разработчиков и наблюдайте/играйте со значением 'input') –
Перейдите к использованию' === 'или'! == 'против' '' '' –