Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中用于事件侦听器的Else语句不工作_Javascript_Html - Fatal编程技术网

Javascript中用于事件侦听器的Else语句不工作

Javascript中用于事件侦听器的Else语句不工作,javascript,html,Javascript,Html,当我填充html字段时,下面的代码应该将“success”记录到控制台上,但它没有。任何帮助都很好 Javascript代码: let taskInput = document.querySelector('.input').value; let myForm = document.querySelector('#my-form'); let msgArea = document.querySelector('.msg'); myForm.addEventListener('submit',

当我填充html字段时,下面的代码应该将“success”记录到控制台上,但它没有。任何帮助都很好

Javascript代码:

let taskInput = document.querySelector('.input').value;
let myForm = document.querySelector('#my-form');
let msgArea = document.querySelector('.msg');

myForm.addEventListener('submit', onsubmit);

function onsubmit(e) {
    e.preventDefault();
    if(taskInput=='') {
    msgArea.classList.add('alert')
    msgArea.classList.add('alert-danger');
    msgArea.style.backgroundColor = '#ec4646';
    msgArea.innerHTML = 'Alert! Fill the fields first';
    }
    else { 
    console.log('success'); //this is not logging onto the console
    }
}

问题在于:
let taskInput=document.querySelector('.input').value

const taskInput=document.querySelector('.input')
让inputVal=taskInput.value
taskInput.addEventListener('input',e=>{
inputVal=e.target.value
})
//不要忘记更新if语句
提交函数(e){
e、 预防默认值()
如果(inputVal==''){
/*你的代码*/
}否则{
console.log('success')
}
}

taskInput的值在程序开始时只设置一次。当您输入内容或提交表单时,它不会刷新。@Teemu只是尝试了一下,但没有显示它应该显示的错误show@deceze是的,你是对的。但是,我如何在每次需要它的当前值时解析itRead
document.querySelector('.input').value
。@deceze谢谢你!现在它的工作方式正是我想要的
// STEP 1: Instead of:
let taskInput = document.querySelector('.input').value;
// Use:
let taskInput = document.querySelector('.input');

// STEP 2: Instead of:
// ...
 if (taskInput == '') {
// ...
// Use:
 if (taskInput.value.trim() === '') {