Вопрос по созданию экземпляра конструктора функции с помощью EventListener - PullRequest
0 голосов
/ 01 февраля 2019

Я создаю простое приложение со списком книг.Имеет 3 поля ввода (заголовок, автор и isbn).У меня есть событие отправки в элементе формы.У меня может быть пердеть мозг или что-то в этом роде, но мне любопытно, как я могу создать новую книгу (const book = new Book (title, author, isbn);) при каждом запуске события submit.Разве я не буду просто объявлять одну и ту же переменную снова и снова?Я предполагаю простой ответ, но на всю жизнь я не могу вспомнить, как это работает.

// Event Listeners for add book
document.getElementById('book-form').addEventListener('submit', function(e) {
  // Getting form values
  const title = document.getElementById('title').value,
    author = document.getElementById('author').value,
    isbn = document.getElementById('isbn').value;

  // Instantiate a book
  const book = new Book(title, author, isbn);

  // Instantiate a UI Object
  const ui = new UI();

  debugger;

  // Validate
  if(title === '' || author === '' || isbn === '') {
    // Error alert
    ui.showAlert('Please fill in all fields', 'error');
  } else {
    // Add book to list
    ui.addBookToList(book);
    // Show success
    ui.showAlert('Book Added!', 'success');
    // Clear inputs
    ui.clearInputs();
  }

  e.preventDefault();
});
...