Очистка формы при загрузке страницы, проблемы с несколькими формами в jsp - PullRequest
0 голосов
/ 10 октября 2019

У меня есть 2 формы в JSP. Форма 1 содержит раскрывающийся список, который, когда выбранный элемент выбирает значение из БД, и через атрибут сеанса я отображаю значения в форме 2

<form id="form1">
    <button id="submit" name="submit" onclick="submitButton()">Submit</button>                     
</form>

<form id="form2">
Many fields fetched from DB
</form>

submitButton выполняет AJAX-вызов сервлета, где DAO выполняетDB fetch.

Я пытаюсь очистить форму 2 при каждой перезагрузке страницы. Хотя форма очищается в первый раз, при каждой перезагрузке форма автоматически заполняется последними значениями.

Я также написал метод resetForm

 function resetForm() {
                // clearing inputs
                var form = document.getElementById("form2");
                var inputs = form.getElementsByTagName('input');
                for (var i = 0; i < inputs.length; i++) {
                    switch (inputs[i].type) {
                        // case 'hidden':
                        case 'text':
                            inputs[i].value = '';
                            break;
                        case 'radio':
                        case 'checkbox':
                            inputs[i].checked = false;
                    }
                }

                // clearing selects
                var selects = form.getElementsByTagName('select');
                for (var i = 0; i < selects.length; i++)
                    selects[i].selectedIndex = 0;

                // clearing textarea
                var text = form.getElementsByTagName('textarea');
                for (var i = 0; i < text.length; i++)
                    text[i].innerHTML = '';
            }

Но когда я вызываю resetForm при загрузке тела,мои значения БД заполняются в form2 и мгновенно очищаются.

Просьба помочь

1 Ответ

0 голосов
/ 11 октября 2019

Хорошо, я наткнулся на решение.

Я добавил кнопку Очистить форму в форму 1 и понял, что при ее добавлении форма очищается при каждой перезагрузке страницы :), поэтому я просто сделал кнопку скрытойи это решило мою проблему! Грязный хак может быть, но работает: D

<button id="clear" name="clear" value="Clear Form"
                            style="background-color: #37617A; color: white; padding: 8px 20px; margin: 8px 0; border: none; border-radius: 4px; cursor: pointer;"
                        hidden="hidden" onclick="resetForm()">Clear Form</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...