Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改输入类型中占位符文本的颜色=";“文本”;如果提交了某个值?_Javascript_Html_Css_Input_Placeholder - Fatal编程技术网

Javascript 如何更改输入类型中占位符文本的颜色=";“文本”;如果提交了某个值?

Javascript 如何更改输入类型中占位符文本的颜色=";“文本”;如果提交了某个值?,javascript,html,css,input,placeholder,Javascript,Html,Css,Input,Placeholder,我有一个用户可以输入地址的栏。如果提供了无效的地址,则会删除键入的文本,并将占位符文本更改为“未找到地址”。我也希望占位符文本变为红色,但我不太明白怎么做 这是索引中的代码 <input type="text" id="searchAdress" placeholder="Type an adress, city or country" /> 通常在CSS中,您会使用::占位符选择器来修改占位符颜色。在JavaScript

我有一个用户可以输入地址的栏。如果提供了无效的地址,则会删除键入的文本,并将占位符文本更改为“未找到地址”。我也希望占位符文本变为红色,但我不太明白怎么做

这是索引中的代码

<input type="text" id="searchAdress" placeholder="Type an adress, city or country" />

通常在CSS中,您会使用
::占位符
选择器来修改占位符颜色。在JavaScript中,您无法真正修改CSS伪选择器,因此必须为每个占位符颜色指定一个特定的类,如下所示:

var input=document.getElementById(“searchAddress”);
函数验证(){
var值=输入值;
如果(值.长度>0){
//有效的
输入值=”;
input.placeholder=“得到它”;
ClearOtherClass(输入);
input.classList.add(“绿色”);
}否则{
//无效的
输入值=”;
input.placeholder=“Nope”;
ClearOtherClass(输入);
input.classList.add(“红色”);
}
}
函数ClearOtherClass(元素){
element.className=“”;
}
.green::占位符{
颜色:绿色;
}
.red::占位符{
颜色:红色;
}
验证

不输入任何内容以切换红色占位符文本。输入要切换为绿色的内容。
if (data.length > 0){
            document.getElementById("searchAdress").value='';
            document.getElementById("searchAdress").placeholder = "Type an adress, city or country";
        } else {
            document.getElementById("searchAdress").value='';
            document.getElementById("searchAdress").placeholder = "Adress not found";
        }