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

80
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 вылетает ошибка, прикрепленная на скриншоте

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

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

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

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

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

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

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

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

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

163