@DeniSidorenko

:invalid лишь после попытки отправить форму?

Недавно узнал о такой крутом псевдо классе для input как :invalid. И если к примеру поля required или тип не совпадает он может окрасить их в другой цвет( к примеру красный как у меня)

Проблема лишь в том что если я задаю input:invalid{border: 1px solid red;} , он изначально имеет красный цвет. ДА это логично ведь он required и поля пока не заполнены. Но возможно ли сделать так что бы лишь при попытке отправить ( неудачной) загоралось эта функция. Я думаю отловить события и при неудачной попытке лишь добавить класс. Но может есть более легкий способ
  • Вопрос задан
  • 199 просмотров
Решения вопроса 2
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега CSS
Руководитель frontend направления, предприниматель
отловить события и при неудачной попытке лишь добавить класс


Вопрос в ответе, лучше пока не придумали.
Ответ написан
Комментировать
@DeniSidorenko Автор вопроса
Сделал простое решение. Форма отправляется ajax'ом. Сделал что бы при клике на кнопку добавлялся класс который и включает эти красные поля. А при удачной отправке удалить класс формы
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Просто используйте input:focus:invalid и будут загоратся только поля в фокусе.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы