Приведенный ниже код должен регистрировать «успех» на консоли, когда я заполняю поле html, но это не так. Любая помощь была бы хороша.

Код 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
    }
}
-2
user14261439 10 Фев 2021 в 16:17

2 ответа

Лучший ответ
// 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() === '') {
0
steven7mwesigwa 10 Фев 2021 в 13:28

Проблема здесь: let taskInput = document.querySelector('.input').value;

const taskInput = document.querySelector('.input')
let inputVal = taskInput.value

taskInput.addEventListener('input', e => {
  inputVal = e.target.value
})

// Don't forget to update the if statement
function onsubmit(e) {
  e.preventDefault()
  if (inputVal === '') {
    /* your code */
  } else {
    console.log('success')
  }
}
-1
Gustavo Shigueo 10 Фев 2021 в 13:28