34-解决方案
11.8.2 解决方案
最常见的例子——搜索字段,可以通过在字段内显示“search”来解决,浅灰色的字样是为了强调它只是一个标签,而不是实际的搜索文本。当焦点位于该字段的时候,就删除文本。当焦点离开字段时,除非输入其他文本,否则恢复默认的显示。
空间有限的登录表单是另一个较常见的例子,由用户名和密码字段组成。密码字段需要显示水印为普通文本,而输入的(或者浏览器预先填写的)密码必须进行模糊处理。
在两种情况下,都不应该将水印当作正常值提交。
水印(watermark)插件(http://jquery-cookbook.com/go/widget-watermark)在实际输入上方显示一个标签元素,当输入字段获得焦点时隐藏该标签,而在空字段失去焦点的时候再次显示,从而解决了这一问题。
这个解决方案在字段上方使用标签而不是修改字段内的文本,因此它也可以用于密码字段,而不需要在提交的时候清除水印值。
默认的用法是调用水印插件方法,并传递所要显示的值:
$("#search").watermark("Search");