Использование метода класса javascript для сброса значений ранее отправленной формы - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь использовать метод класса для очистки формы, которая, возможно, была ранее отправлена ​​с использованием vanilla Javascript. Хотя функциональность работает вне класса, выяснить это изнутри было кошмаром, и использование .reset() возвращает ранее отправленные значения. В идеале я мог бы вызывать эти методы внутри других методов, чтобы сохранить вещи DRY, так как очистка формы используется довольно часто.

Результат того, что я имею ниже, - это отсутствие ошибок консоли и ожидаемой функциональности, только ранее отправленные данные, все еще заполняющие форму. Запись в журнал элементов (input) в методе clearForm() возвращает ожидаемый элемент DOM.

Кажется, с моей стороны есть какой-то пробел в знаниях, и я бы хотел его заполнить.

В настоящее время у меня есть это для очистки:

[class and constructor]...
/* in my constructor this._form = document.querySelector(target); where target is a param 
   containing the target element's id or class */

       clearForm() {
            [...this._form.elements].forEach((input) => {
                if (input.type == "checkbox") {
                    input.checked = false
                    input.setAttribute("value", false);
                    return;
                }

                input.value = "";
                input.setAttribute("value", "");
            });
        }

И Я использую его в других методах, таких как:

       async populateForm(id) {
            try {
                await this.clearForm();
                [additional functionality]...
            } catch (e) {
              ...
            }
        }

Спасибо за любую помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...