【发布时间】:2021-09-10 06:28:30
【问题描述】:
我有这个表单,并且希望在单击我的按钮时占位符文本变为红色。我有 JS 代码,但是当我们点击我的按钮时它似乎没有改变颜色。想法?
<form>
<input id="red-border-error" class="test-form-1" type="text" name="url" placeholder="yourstorehere.com">
<input class="test-button-1" type="submit" value="BUTTON"></input>
</form>
Javascript
document.getElementById("url-30").addEventListener("submit", (event) => {
event.preventDefault()
let errorMessage = document.getElementById("red-border-error").placeholder = "Type your store URL here";
let myForm = document.getElementById("url");
let formData = new FormData(myForm);
if (formData.get("urlName") === "") {
document.getElementById("red-border-error").style.borderColor = "red";
document.getElementById("red-border-error").placeholder.style.color = "red";
return errorMessage;
}
【问题讨论】:
-
document.getElementById("red-border-error").placeholder.style没有意义 -placeholder不是一个元素,它只是一个属性,它没有自己的style对象。 -
所以占位符当前是灰色的,理想情况下希望占位符选择器在单击按钮时变为红色。我知道如何更改占位符文本
-
是的,我第一次找到你。
-
对,所以你的意思是你可以改变伪选择器样式?
-
没有任何简单的方法,但是您可以例如在输入中添加一个类,然后在样式表中编写一个匹配规则,将颜色应用于占位符。
标签: javascript html css forms