Css 表单未清除自身的默认值?

Css 表单未清除自身的默认值?,css,forms,html,default-value,Css,Forms,Html,Default Value,我注意到这是许多网站上经常出现的问题,甚至是大公司的网站,所以作为一名申请工作的web开发人员,我认为,我应该知道如何解决这个问题 基本上,例如,用户名字段会说“用户名”,直到你点击它来键入用户名,这时它应该清除自己的文本“用户名”。但在大多数情况下,它没有,并且最终在预先存在的文本的中间键入。 我已经查过了,我找到的最好的解决方案是一组30多行的Javascript函数,它完全符合您的预期:设置一个系统,当用户单击字段时清除默认值,并且在用户单击字段时将其放回,只要他们没有输入任何内容 但这并

我注意到这是许多网站上经常出现的问题,甚至是大公司的网站,所以作为一名申请工作的web开发人员,我认为,我应该知道如何解决这个问题

基本上,例如,用户名字段会说“用户名”,直到你点击它来键入用户名,这时它应该清除自己的文本“用户名”。但在大多数情况下,它没有,并且最终在预先存在的文本的中间键入。

我已经查过了,我找到的最好的解决方案是一组30多行的Javascript函数,它完全符合您的预期:设置一个系统,当用户单击字段时清除默认值,并且在用户单击字段时将其放回,只要他们没有输入任何内容

但这并不是我想要的,因为我已经知道怎么做了

我觉得到现在为止,有了HTML5和所有这些,应该有一个更简单的解决方案。而且不仅仅是将JavaScript简化为更短的jQuery脚本。我的意思是,更多的是一个嵌入的、固有的修复


有人知道阻止这种现象发生的方法吗?

您可以使用HTML5占位符属性

只需使用HTML5
占位符属性

<input type="text" placeholder="Whatever" />

跨浏览器信息:
一些Firefox版本会在点击文本框时清除占位符文本,Chrome会在用户开始键入后清除占位符文本,但更高版本的Firefox会像Chrome一样,在用户开始在输入框中键入时清除占位符文本。

现代浏览器现在支持表单的占位符属性,让你按你的要求去做

退房
对于使用modenizr实现跨浏览器兼容性的文章,只需使用HTML5占位符属性即可

<input type="text" placeholder="Username" />


这显然不是完全跨浏览器兼容的,因此您仍然需要旧的Javascript/jQuery修复程序。

您指的是占位符文本吗?请发布一些代码。是否使用占位符而不是值?