Итак, для формы я хотел бы создать сообщение об ошибке после каждого недействительного элемента при нажатии кнопки отправки.
Я почти все понял, за исключением того, что он добавляет диапазон дважды после элемент (потому что два элемента недопустимы). Мне нужно добавить его один раз к обоим недопустимым элементам.
Итак, мой JS / jquery (да, я знаю, я его смешал: p):
function checkrequired() {
var nbform = document.getElementById("userpanel");
var elements = document.querySelectorAll('[required]');
elements.forEach(element => {
if (element.value === "") {
nbform.classList.add('submitted-form-invalid');
$('.show-error').after("<span class='col-sm-12' style='color:red;'> Name is required.</span>");
} else {
return true;
}
});
Как это выглядит:
Я также знаю, что он добавляет его дважды, а не один раз, потому что он добавляет его для каждого элемента. Но я не знаю, как это превзойти. Кто-нибудь?
EDIT:
Я придумал следующий Javascript, эта идея - все, что мне нужно. Это не должно быть действительно сложно:
function checkrequired() {
var el = document.createElement("div");
el.setAttribute('class', 'error-message');
el.innerHTML = "Dit veld is verplicht";
var x = document.querySelectorAll('.show-error');
for (var i = 0; i < x.length; i++) {
x[i].appendChild(el);
}
}
Единственная проблема теперь в том, что он только добавляет дочерний элемент к div sconds с классом "error-message". Не оба.