Не получается считывать текущие данные с инпута по нажатию. addEventListener ругается

74
07 марта 2022, 18:40
const spamCheckButton = document.getElementById('send-comment');
const comment = document.getElementById('comment');
const spamWord = document.getElementById('spam-word');
let counter = 0;
const isSpam = function (string, word, timesWord) {
   if(string.includes(`${word}`)){
       counter++;
       return false
   }
   if (counter > timesWord||counter === timesWord){
       return true
   }
};
spamCheckButton.addEventListener('click', isSpam(comment.value , spamWord.value, 3 ))
Answer 1
window.addEventListener("load", function() {
  const spamCheckButton = document.getElementById('send-comment');
  spamCheckButton.addEventListener('click', function(e) { 
    isSpam(comment.value, spamWord.value, 3);
  });
});
Answer 2

Вы в евент добавляете не функцию, а результат ее выполнения. Правильный вариант

spamCheckButton.addEventListener('click', ()=>isSpam(comment.value , spamWord.value, 3))

либо так

spamCheckButton.onclick = () =>isSpam(comment.value , spamWord.value, 3)
READ ALSO
Размещение сайта Asp.Net на IIS сервере

Размещение сайта Asp.Net на IIS сервере

При размещение сайта AspNet на сервере IIS вылетает ошибка, прикрепленная на скриншоте

117
Русификация переменной из

Русификация переменной из

Как я могу русифицировать ManifestUl вы вывода

161
Экспорт большой таблицы из БД на C#

Экспорт большой таблицы из БД на C#

Возникла необходимость периодической выгрузки большой таблицы (более 7млн строк) из базы данных в CSVЕсли делать это инструментами экспорта...

96
Работа с таблицей DataGridview C#

Работа с таблицей DataGridview C#

ПодскажитеНа форме есть Datagridview, в ней к примеру 7 столбцов и неограниченное кол-во строк

156