Jquery实现文本框输入提示

一些用户体验好的表单都会在文本框里设置输入提示,文本框获取焦点时,提示内容消息,如果未输入,失去焦点时又会出现提示。

网上找到一个比较好用的控件jquery.inputDefault.js

使用方法:

1、在jsp页面引用jquery.inputDefault.js

<script src="/js/jquery.inputDefault.js" type="text/javascript"></script>

2、需要为控件增加一个自定义属性fs,fs的值就是提示内容。

<input type="text" id="key" name="key" fs="请输入"></input>

3、然后在jsp文件中增加js调用代码:

$(function() {
	$('[fs]').inputDefault();
});

这个控件的实现实质上是在文本框上覆盖了一层<label>标签,通过文本框的onblur和onfocus事件来控制lable标签的显示与隐藏。

不过这个控件有一个弱点就是如果是动态表单,会造成标签错位,即提示内容与文本框错位。

于是自己也实现了一个input.emptyText.js

使用方法:

1、在jsp页面引用input.emptyText.js

<script type="text/javascript" src="/js/input.emptyText.js"></script>

2、需要为控件增加一个自定义属性emptyText,emptyText的值就是提示内容。

<input id="title" name="title" emptyText="请输入" />

3、然后在jsp文件中增加js调用代码:

$('[emptyText]').emptyText();

这种方法实际上是通过input控件的onfocus和onblur事件来控制控件的样式,onfocus事件触发时,判断控件的值是否是提示值,是则清空。onblur事件中,判断输入内容是否为空,为空则置控件的值为提示内容。

这种方法也有一个弱点,无法输入与提示内容相同的值,且提交时要自己写代码去掉控件的提示内容。

 

posted @ 2014-09-16 11:11  涂墨留香  阅读(32216)  评论(1编辑  收藏  举报