Я пытаюсь показать сообщения об ошибках ниже массива текстовых полей, которые я выбрал с помощью Javascript. Сообщения об ошибках помещаются путем создания нового элемента span и использования метода insertBefore(). Элемент span создается в функции, так как я не хочу жестко кодировать его в DOM. Сообщения о span показывают, но каждый раз, когда я отправляю форму, они добавляются снова и снова. Я хотел бы показывать сообщения span только один раз и каждый раз, когда форма отправляется, они отображаются только один раз. Ниже мой код.реализация insertbefore() в цикле
HTML
<div class="slideshow">
<form id="form">
<input type="text" name="1" class="textbox" />
<input type="text" name="2" class="textbox" />
<input type="text" name="3" class="textbox" />
<input type="submit" name="submit" value="submit" id="submit" />
</form>
</div>
JAVASCRIPT
<script>
var slideshow = document.querySelector('.slideshow');
// var span = document.createElement('span');
var form = document.querySelector('#form');
var inputs = form.querySelectorAll('.textbox');
form.addEventListener('submit', function(e)
{
e.preventDefault();
for(var i=0; i<inputs.length; i++)
{
var span = document.createElement('span');
(function(index)
{
span.innerHTML = 'error ' + index;
inputs[index].parentNode.insertBefore(span, inputs[index].nextElementSibling);
})(i);
}
}, false);
</script>
Каждый раз, когда я представляю, я хотел бы сообщения об ошибках, которые будут показаны ниже текстового поля, а не добавляется снова и снова. Они должны отображаться только один раз, и я хотел бы сделать это без использования jQuery или любой библиотеки.
Вы не должны указывать NUMERICAL идентификаторы или имена элементов, это плохая практика, когда дело доходит до удобочитаемости кода и обратной совместимости. – odedta