#javascript #html #css
#javascript #HTML #css
Вопрос:
Я пытаюсь сделать кнопку ОТПРАВКИ доступной только тогда, когда в трех полях ввода пользователь вводит цифры 0 4 2 — в том же порядке.
Я знаю, что это легко достижимо с помощью JS, но мне было интересно, возможно ли это и с помощью только HTML.
<form action="#">
<input class="code" type="text" required="required">
<input class="code" type="text" required="required">
<input class="code" type="text" required="required"> <br>
<input type="submit" value="Unlock" />
</form>
Комментарии:
1. Нет, вам понадобится JS для проверки правильности ввода.
Ответ №1:
Хотя это работает, это глупый трюк CSS, не обладает большой гибкостью и действительно не должен использоваться в производстве.
input[type=submit] {
pointer-events: none;
color: red;
}
input:valid input:valid input:valid br input[type=submit] {
pointer-events: auto;
color: green;
}
<form action="#">
<input class="code" type="text" required="required" pattern="0">
<input class="code" type="text" required="required" pattern="4">
<input class="code" type="text" required="required" pattern="2"><br>
<input type="submit" value="Unlock" />
</form>
:valid
Псевдокласс сопоставляет проверенные входные данные и
сопоставляет соседние родственные элементы. pointer-events: none;
предотвращает нажатие.
pattern
Атрибут устанавливает регулярное выражение для проверки поля.
Комментарии:
1. Впечатляет! Браво 👏
2. Гениально! Спасибо!