Почему не работает код jquery?

Я сделал валидацию формы, вместе с тултипами, но при добавлении текста валидация пропадает, а вот тултипы нет почему?
var checkForm = function(e){
        e.preventDefault();

        var form = $(this);
        var items = form.find('input, textarea').not('input[type="submit"], input[type="reset"], input[type="file"]');

        $.each(items, function(index, val){
            var content = $(val).val().trim();
            console.log(content);
            if(content.length === 0){
                $(this).addClass("error");
                showTooltip(this);
            } else {
                $(this).removeClass("error");
            }
        });

    };

	var showTooltip = function(target){
		var $target = $(target);
		$target.data("info");
		var showTooltip = "<div class='red'>" + $target.data("info") + "</div>";
		var elem = $target.parent('.form-wrap');
		if(elem.find('.red').length === 0) {
			$(target).before(showTooltip);
		}else{
			$("div.red").remove();
		}
	};
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
После этой строки $(this).removeClass("error"); надо добавить $(".red").remove();

Правда если класс .red еще каким-либо элементам присваивается, то они тоже удалятся... Так-что в таком случае какое-то более специфическое название классу надо придумать вместо .red
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
supervaleha
@supervaleha
Web-development
Закинь на jsfiddle.net и посмотрим
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы