表格没有清除默认值?

时间:2012-10-19 18:45:04

标签: html css forms html5 default-value

我注意到这是许多 wbesites的常见问题,即使是那些大公司的问题,所以作为一名网络开发人员申请工作,我认为,我应该知道如何解决这个问题。

基本上,例如,用户名字段会显示“用户名”,直到您单击它来输入用户名,此时它应该清除文本“用户名”。但在大多数情况下,它没有,并且您最终键入了预先存在的文本的中间。

我已经看过了,我找到的最佳解决方案是30多行Javascript函数,它们完全符合您的期望:设置一个系统,当用户点击时,它会清除默认值只要他们没有输入任何东西,他们点击时也会把它放回去。

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

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

有谁知道有什么方法可以阻止这种现象发生?

4 个答案:

答案 0 :(得分:1)

只需使用HTML5 placeholder attribute

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

Fiddle

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

答案 1 :(得分:0)

答案 2 :(得分:0)

现代浏览器现在支持表单的占位符属性,这样您就可以实现您的要求

退房 http://webdesignerwall.com/tutorials/cross-browser-html5-placeholder-text 有关使用modenizr进行跨浏览器兼容性的文章

答案 3 :(得分:0)

只使用HTML5占位符属性。

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

这显然不是完全跨浏览器兼容的,所以你仍然需要旧的Javascript / jQuery修复。