Я пытаюсь отобразить ошибки при проверке формы в качестве заполнителя в поле ввода.
Сейчас у меня есть этот код HTML / PHP:
<input type="text" name="name" id="name" placeholder="Enter first name"
class="<?php if(isset($error['name'])){echo "error-found";} else { echo "no-error";} ?>"
value="<?php if(isset($error)){ echo htmlspecialchars($_POST['name'], ENT_QUOTES); } ?>" tabindex="1">
и CSS:
.error-found[type=text]:focus{
color: inherit;
}
.error-found[type=text]{
color:red;
}
При обнаружении ошибки цвет текста заполнителя меняется на красный. Когда пользователь переходит к блоку ввода и пишет что-то, он превращается в наследуемый цвет, но когда пользователь переходит к следующему блоку / при фокусировке, цвет снова меняется на красный, что мне не нужно.
Есть ли путь через PHP / CSS / HTML, без использования Javascript, чтобы цвет не изменялся на красный при фокусировке, и только если текст вводится в поле ввода?