我正在尝试将表单验证错误显示为输入框中的占位符。
现在我有这个 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 来使颜色在焦点消失时不会变为红色,并且只有在输入框中输入文本时?