Как изменить надпись в input:invalid?

Нужно чтобы при отправке формы валидация не всплывала окошком, а прописывалась внутри поля да еще и нужным текстом. Картинка:
a2933c31f9d5312464b20945b234edb2.png
  • Вопрос задан
  • 352 просмотра
Пригласить эксперта
Ответы на вопрос 3
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
<style>
	.err {font-size: 150%; color:red;}
</style>
<input onblur="valid(this);">
<script>
	function valid (el) {
		if(!el.value.trim().length) {
			el.value= 'Это обязательное поле';
			el.classList.add('err');
		} else el.classList.remove('err');
	}
</script>
Ответ написан
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Что Вы ожидаете? Не видя Вашего кода, не зная как у Вас устроена валидация, да хотя бы что Вы используете, как можно ответить? Потрудитесь дать исчерпывающую информацию, что бы был возможен ответ в принципе.
Магического метода типа:
$('votEto').esli('vot_tak',function(){
$(this).chtoToSdelay();
});

не существует. Разные ситуации - разные решения. А Вы даже html или ссылки не дали.
Ответ написан
BogdanSokolovskyi
@BogdanSokolovskyi
WordPress & Front-end Developer
<form id="myForm">
    Имя:
    <input type="text" name="name">
    <input type="submit" value="Submit">
  </form>

  <script>
    let form = document.getElementById('myForm');
    form.addEventListener('submit', validateForm);

    function validateForm(e) {
      var x = form.elements.name.value;
      if (x == null || x == "") {
        form.elements.name.value = "Необходимо заполнить поле Имя!";
        e.preventDefault();
      }
    }
  </script>
Ответ написан
Ваш ответ на вопрос

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

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