У меня есть некоторые функции, чтобы проверить некоторые поля ввода, как это:ошибка, если и если еще в Javascript
function validateName() {
var inputName = document.getElementById('name');
var pesanError ='';
if (inputName.value ===""){
pesanError = 'Name can't be empty'
tambahError('name',pesanError)
}else if(inputName.value !="" && inputName.value.length < 3){
remove('name');
pesanError = 'Name is too short'
tambahError('name',pesanError)
}else{
remove('name')
}
}
и я использую добавить событие так:
var inputName = document.getElementById('name');
inputName.addEventListener("blur", validateName, true);
хорошо это работает отлично, когда он пуст, отображается «имя не может быть пустым», а когда имеет значение, но имеет длину менее 3, оно будет отображать «слишком короткое имя», но проблема в том, что после того, как он имеет значение и отображает «слишком короткое имя», а затем поле снова не имеет значения, оно все равно отображает «имя слишком короткое». поэтому мой вопрос, как я могу сделать свою функцию, чтобы она снова отображала «имя не может быть пустым», когда значение снова не возвращается в значение.
здесь удалить функцию и функцию tambahError:
function remove(id) {
var element = id + "Error";
var inputName = document.getElementById(element);
if (inputName !== undefined){
inputName.remove();
}
}
function tambahError(kolom,pesan) {
if (document.getElementById(kolom+"Error")== undefined){
var inputName = document.getElementById(kolom);
var h = document.createElement("span");
h.id = kolom+"Error";
var t = document.createTextNode(pesan);
h.appendChild(t);
h.className='error';
insertAfter(h, inputName);
}
}
Почему это имя слишком коротким, когда менее 3? Я знаю много людей с именами из 2 букв – Pete
Мы понятия не имеем, что делает ваша функция 'tambahError' - может быть, что это просто _appends_ сообщения об ошибках целевому элементу вместо их замены. – CBroe
Вы могли бы написать код функции 'remove' и' tambahError'! что может помочь –