У меня есть контактная форма в модале.
Я отправляю форму, используя 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](https://i.stack.imgur.com/oDf4T.png)
===================
Я не использую form.reset()
, потому что у меня есть скрытое поле, которое я не хочу чистить.
Кроме того, проблема не связана с очисткой полей, проблема в том, что после отправки и отправки Ajax corect, Firefox автоматически делает поля формы недействительными на основе атрибутов HTML , добавляет красный тень.
Я просто хочу, чтобы Firefox показывал форму такой, какая она есть. Проверка стороннего или другого кода не требуется.