Хороший способ отображения ошибок проверки формы в php в качестве заполнителя ввода без Javascript - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь отобразить ошибки при проверке формы в качестве заполнителя в поле ввода.

Сейчас у меня есть этот код 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, чтобы цвет не изменялся на красный при фокусировке, и только если текст вводится в поле ввода?

1 Ответ

0 голосов
/ 07 апреля 2020

Вы пробовали ниже CSS скрипт?

.error-found[type=text]:not(:focus){
    color: inherit;
}
...