Javascript 切换/选择时隐藏HTML输入框的文本值

Javascript 切换/选择时隐藏HTML输入框的文本值,javascript,Javascript,我试图复制联系人表单的效果,如果用户单击或选择输入文本区域,该值将消失 函数hidetext(){ var x=document.getElementById(“carea”); 如果(x.value.display==“无”){ x、 value.display=“block”; }否则{ x、 value.display=“无”; } } 您应该使用“占位符”属性: document.querySelector('input')。onfocus=function(){ var ph=

我试图复制联系人表单的效果,如果用户单击或选择输入文本区域,该值将消失

函数hidetext(){
var x=document.getElementById(“carea”);
如果(x.value.display==“无”){
x、 value.display=“block”;
}否则{
x、 value.display=“无”;
}
}

您应该使用“占位符”属性:

document.querySelector('input')。onfocus=function(){
var ph=this.getAttribute(“占位符”);
如果(!ph)返回;
this.setAttribute('占位符','');
this.setAttribute('data-placeholder',ph);
}
document.querySelector('input').onblur=function(){
var ph=this.getAttribute('data-placeholder'),
val=该值;
如果(!ph | val)返回;
this.setAttribute('placeholder',ph);
}

我刚在谷歌上搜索到,这可以通过CSS实现

input:focus::placeholder {
  color: transparent;
}

您正在寻找一个
占位符吗?
?在尝试编写脚本之前,请先看一下建议您从一些HTML基础知识开始。ID在HTML文档的作用域内必须是唯一的。ID也必须是唯一的。您提到的站点只是更改了文本的不透明度。对不起,我要隐藏值文本。占位符是不同的。但感谢您抽出时间回答并给出选择。更正Amundo!我添加了必要的JavaScript。但是占位符绝对是语义正确的方法。仅供参考,这不是使用
placeholder
属性的方式。让JS事件处理程序破坏了
placeholder
属性的目的。我同意,但是JS需要从焦点输入中清除占位符(因为请求的行为不是标准的)。使用value属性执行此操作可能会在没有输入的情况下导致提交表单时出现问题,更不用说表单了validation@RenaudC. 当用户键入时,占位符消失,您根本不需要清除它