После выполнения ajax firefox показывает все поля формы как ошибки - PullRequest
0 голосов
/ 20 марта 2019

У меня есть контактная форма в модале.

Я отправляю форму, используя Ajax, и показываю сообщение в зависимости от результатов над формой.

Проблема в том, что когда результаты возвращаются из Ajax, браузер (Firefox) помечает все поля как ошибки. Я хочу, чтобы браузер не для этого.

Для ajax я использую чистый JavaScript:

function sendAjax(event) {
        event.preventDefault();
        var xhr, form;
        form = event.target;
        xhr = new XMLHttpRequest();

        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4 && xhr.status === 200) {
                setResponseMessage(form, JSON.parse(xhr.responseText).message);
                resetForm(form);
......

// this function cleans the fields after submit.
function resetForm(form) {
        for (var i = 0; i < form.elements.length; i++) {
                if (form.elements[i].type !== 'submit' || form.elements[i].name === DOMStrings.csrf) {
            form.elements[i].value = '';
        }
            }
        }
    }

enter image description here

===================

Я не использую form.reset(), потому что у меня есть скрытое поле, которое я не хочу чистить.

Кроме того, проблема не связана с очисткой полей, проблема в том, что после отправки и отправки Ajax corect, Firefox автоматически делает поля формы недействительными на основе атрибутов HTML , добавляет красный тень.

Я просто хочу, чтобы Firefox показывал форму такой, какая она есть. Проверка стороннего или другого кода не требуется.

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