我不知道这是否有一个特殊的名称,但有没有一个很好的简单方法来设置输入字段中的默认文本,它会消失在焦点上,并在文本框为空时重新出现模糊?输入字段中的默认文本
6
A
回答
4
- http://plugins.jquery.com/project/Watermark
- http://digitalbush.com/projects/watermark-input-plugin/
- http://cysemic.com/2008/12/very-simple-textbox-watermark-using-jquery/
我鼓励使用插件,除非你有充足的时间devel的的选择和测试。在编写此代码时,需要注意许多问题和副作用。
- 当字段包含水印文本时,将该字段验证为'空'。 从而区分水印文本和输入的文本。
- 不提交水印文本。
- 防止用户输入水印文本本身:)
- 造型水印文本。
- 等,等....
+0
我只是想让你知道4个链接中有3个是坏的。 – 2014-01-15 17:09:19
2
这是solution。
$(".defaultText").focus(function(srcc)
{
if ($(this).val() == $(this)[0].title)
{
$(this).removeClass("defaultTextActive");
$(this).val("");
}
});
$(".defaultText").blur(function()
{
if ($(this).val() == "")
{
$(this).addClass("defaultTextActive");
$(this).val($(this)[0].title);
}
});
$(".defaultText").blur();
2
你可以试试这个:使用title属性存储默认文本
$(function(){
$(".makedefault").bind("blur",function(){
if($(this).val().length == 0)
{
$(this).val($(this).attr('title'));
}
});
$(".makedefault").bind("focus",function(){
if($(this).val() == $(this).attr('title'))
{
$(this).val("");
}
});
});
4
该功能被称为水印,并能以多种方式来达到的,其中之一是
onfocus="if(this.value=='Enter Email')this.value=''"
onblur="if(this.value=='')this.value='Enter Email'"
这将电子邮件文本框工作。
19
您可以使用新的HTML5占位符属性。
编辑:更新使用更多的HTML5/jQuery hotness,HTML5数据存储。
<input type="text" placeholder="type here" data-placeholder-text="type here" />
这将适用于所有现代浏览器。并在IE中优雅地降级。但对于IE,你必须使用JavaScript。
$(document).ready(function() {
var $input = $('#id_of_input_element');
$input.focus(function() {
if($(this).val() == $(this).data('placeholder-text')) {
$(this).val('')
}
}).blur(function() {
if($(this).val() == '') {
$(this).val($(this).data('placeholder-text'));
}
}).trigger('blur');
}):
1
你可以使用这个插件(我的合着者)
https://github.com/tanin47/jquery.default_text
其复制的输入字段,并把它放在那里。
它适用于IE,Firefox,Chrome甚至iPhone Safari,它有着名的焦点问题。
这样您就不必担心在提交前清除输入字段。
OR
如果你想HTML5而已,你可以用属性 “占位符” 上输入字段
0
这里是我的做法(使用jQuery):
<input id="myBox" type="text" />
<script>
// Input field and default text
var $element = $('#myBox');
var defaultText = 'Hello World';
$element.focus(function(){
// Focused
$element.removeClass('defocused').addClass('focused');
if($element.val() == defaultText)
$element.val('');
}).blur(function(){
// Defocused
$element.removeClass('focused').addClass('defocused');
if($element.val() == '')
$element.val(defaultText);
});
// Initialization
$element.blur();
</script>
相关问题
- 1. 作为jQuery datepicker的文本输入字段默认日期
- 2. 输入密码字段的默认文本
- 3. 输入字段的多个默认值
- 4. 的form_tag默认输入字段
- 5. Android文本字段默认为中文
- 6. 在文本字段中添加默认文本,并跟随用户输入值
- 7. tkinter与python默认输入字段
- 8. 输入字段有默认边距
- 9. 输入上的默认文本
- 10. 在表单的文本字段中设置默认文本
- 11. 默认水晶文本字段高度
- 12. Combobox DropDownList默认提示输入文字
- 13. 默认输入数字值
- 14. 如何设置输入文本字段的默认游标属性?
- 15. Hibernate中嵌入字段的默认值。 java.sql.SQLException:字段'url'没有默认值
- 16. 输入文件字段输入文本字段
- 17. Android WebView中输入字段的默认操作
- 18. 日期Outsystems中的输入字段默认值
- 19. 如何在CakePHP的输入字段中设置默认值?
- 20. 如何将默认值添加到Thymeleaf中的输入字段
- 21. 如何设置SELECT输入字段中的默认选项
- 22. 将默认值设置为React中的输入字段?
- 23. 输入文本字段(Android)
- 24. 码输入文本字段
- 25. 在文本输入字段
- 26. 单个输入字段的分隔输入文本字段
- 27. d3.js中的文本输入字段
- 28. iMacros中的文本输入字段
- 29. 在AS3中输入文本字段中输入按键输入
- 30. PhoneGap + iOS防止默认滚动操作从输入文本字段开始
名称是占位符。现在它正式成为HTML(5)规范的一部分,所有现代浏览器都支持它作为内联HTML。有关解释,请参阅下面的答案。 – xzyfer 2011-02-01 11:53:23