Я пытаюсь использовать метод класса для очистки формы, которая, возможно, была ранее отправлена с использованием 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) {
...
}
}
Спасибо за любую помощь!