最近遇到需要做到把输入框提示放入输入框内部的需求。不是太复杂的东西,但大概正因如此,没有找到完整的方案,于是自己写了一个。
代码贴在后面,把几个需要注意的点放在前面吧。
1,主要逻辑就是focus和blur时要干点什么。
2,使用title属性保存提示信息,一来没有多余的东西,二来还可以获得一个停留时的提示。
3,因为IE的password输入框的type属性只读,所以使用show&hide的方式。虽说所有的地方都可以show&hide,但我还是偏好少点无用标记的方式。
4,form提交前必需做好清理工作,避免把提示当值给提交了(show&hide没有此问题,但会有没用的键值对)。这对新作的东西没啥影响,但改老代码,尤其是直接把事件绑在tag中的代码,要注意一下。
其实html5有个placeholder直接就是干这个事的,可是这还不是html5的时代。(吐槽:哪有这么好,连IE都不能不管,不然代码至少少一半。)
也考虑了一下,要不要做成JQuery的plugin,想想算了,简单的东西就简单的处理好了,真有必要了再说吧。
<!DOCTYPE html>
<html>
<head>
<title>Hint in Box</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
var textFocus = function() { // for in-box hint (username, focus)
if (this.title && this.value === this.title) this.value = '';
};
$('input[type="text"]').blur(function() { // for in-box hint (username, blur)
if (!this.value) this.value = this.title;
}).focus(textFocus);
var fakePassword = $('#fakePassword'),
password = $('#password');
if (fakePassword.length === 1) { // for in-box hint (password). It's complex because ie doesn't allow changes on the type of password.
fakePassword.focus(function() { // focus
fakePassword.hide();
password.show().select();
});
password.blur(function() { // blur
if (!this.value) {
password.hide();
fakePassword.show();
}
}).blur(); // blur at start to ensure the hint shows.
}
$('form').submit(function() { // rebind submit handler to form because we need some pre work involved with in-box hint.
$('input[type="text"]').each(textFocus); // ensure the hint is clear.
return checkAndSubmit(); // do the original submit.
});
function checkAndSubmit(){
// some code here
return true;
}
});
</script>
</head>
<body>
<form name="aForm" action="/something">
<div><input type="text" id="username" name="username" title="User ID" /></div>
<div><input type="text" id="fakePassword" name="fakePassword" value="Password" title="Password" /><input type="password" id="password" name="password" title="Password" /></div>
<div><input type="text" id="something" name="something" title="Something..." /></div>
<div><input type="text" id="something1" name="something1" title="" /></div>
</form>
</body>
</html>
分享到:
相关推荐
这种设计主要用于引导用户输入信息,通过在文本框内预设一些提示性文字,来帮助用户理解该输入区域的目的。例如,一个搜索框可能会显示“请输入标题搜索”,当用户点击文本框或者按下键盘时,这些提示文字会自动消失...
Hint通常指的是在文本框内显示的临时性提示信息,它不是WPF标准控件的一部分,但可以通过自定义样式或者使用附加属性来实现。例如,可以创建一个附加属性`Hint`,并在控件的样式中检查这个属性的值,根据需要显示或...
在密码输入框中添加提示文字是设计交互时的常见需求,旨在帮助用户了解在哪个输入框内输入密码。然而,直接在密码输入框中显示文字可能会导致用户体验问题,甚至安全风险。在实际开发过程中,密码输入框的处理需要尤...
在JavaFX中,实现百度文本框的下拉提示功能,主要涉及到的是文本输入与实时匹配的概念,这在很多用户界面中都有广泛的应用,如搜索引擎、输入法等。这个功能能够提高用户体验,帮助用户快速找到他们可能正在寻找的...
总结起来,`input`文本框内的提示信息通过`placeholder`属性实现,而点击即消失的功能则需要JavaScript辅助完成。这种交互方式可以有效引导用户,提升用户体验。在实际项目中,我们还可以根据需求对样式进行自定义,...
### JavaScript 实现文本框提示知识点解析 #### 一、背景介绍 在网页开发过程中,为了提升用户体验,常常需要对用户输入进行即时反馈。其中一种常见的做法就是在用户将光标聚焦到某个输入框时,通过弹出提示的方式...
用JavaScript实现,在表单的文本框中添加提示信息有助于理解表单的内容和目的。
如何让文本框内的提示信息在激活文本框时清空 解决思路: 当需要填写的文本框很多时,在每个文本框内写上提示信息是个不错的办法,但这样一来用户在填写该项时必须先把提示文本删掉,非常不方便。所以应该让文本框更...
在JavaScript编程中,文本框(input type="text")下拉提示是一种常见的用户交互设计,它可以帮助用户在输入时快速选择或参考预设的选项。在这个实例中,我们结合了JavaScript和Cookie技术来实现这一功能。 首先,...
这个属性用于定义输入框内的占位文本,即用户在输入前看到的提示信息。例如: ```html 请输入用户名"> ``` 在上述代码中,“请输入用户名”就是`placeholder`属性值,它会在文本框内显示,直到用户开始输入内容。 ...
1. **基本样式设置**:首先,可以通过设置`border`, `padding`, `margin`, `font-size`等属性来改变文本框的边框、内填充、外边距和字体大小。例如: ```css input[type="text"] { border: 1px solid #ccc; ...
【Ajax文本框输入提示】是一种前端交互技术,用于在用户输入文本时实时提供相关的建议或提示信息。在网页设计中,这种功能可以显著提升用户体验,尤其是对于搜索框或需要输入特定信息的表单。这个例子是基于Java和...
最后,`<input>`标签的`placeholder`属性可以设置提示文字,帮助用户了解文本框的用途。 ```html 请输入内容..."> ``` 综上所述,创建HTML透明文本框的关键在于使用CSS进行样式控制,包括`opacity`、`background-...
2. **本框自动提示**:指的是文本框的自动提示功能,用户输入部分文字后,系统能自动给出可能的匹配项。 3. **示例**:意味着这是一个教学实例,用于演示和学习AJAX如何应用于文本框自动提示。 **文件名称解析:** ...
- **聚焦状态**:用户将光标置于文本框内,可以在此时显示提示信息或执行预填充操作。 - **输入状态**:用户正在输入,实时校验输入内容,例如限制输入长度、格式等。 - **失去焦点状态**:用户离开文本框,这是...
CSS定义了页面布局和提示框的样式,包括输入框的宽度、高度、边框、内边距,以及下拉提示框的样式,如边框颜色、位置、溢出处理、列表项的样式和当前选中项的背景色。 JavaScript 部分: ```javascript ...
在IT行业中,文本框自动提示匹配查询功能是一种常见的交互设计,极大地提升了用户的使用体验,特别是在搜索引擎、数据分析工具以及各类输入界面中。这种功能的核心在于,当用户在文本框中输入时,系统能实时分析并...
这段代码的工作原理是,当文本框获取焦点(用户点击输入框)且内容为空时,我们将`placeholder`的文本填充到输入框内。然后,当文本框失去焦点(用户点击其他地方)或内容改变时,如果发现内容仍然是默认文本,我们...
在用户尚未输入任何文本时,文本框内会显示预设的提示信息,这种提示信息被称为“水印”。水印文本框在网页设计中特别有用,因为它可以清晰地向用户指示他们应该输入什么类型的信息,而无需依赖额外的标签或工具提示...
在设计用户界面时,我们有时希望在这些文本框内没有输入内容时显示默认提示文字,就像iOS系统的文本框那样。这种效果可以通过一些技巧来实现,而标题和描述中提到的方法就是通过在文本框上方添加一个不可点击的`...