如何在输入字段上设置空白默认文本并在元素处于活动状态时将其清除。输入上的默认文本
输入上的默认文本
回答
在现代浏览器中,您可以在字段上设置placeholder
属性以设置其默认文本。
<input type="text" placeholder="Type some text" id="myField" />
然而,在旧的浏览器,你可以使用JavaScript来捕获的重点和模糊事件:
var addEvent = function(elem, type, fn) { // Simple utility for cross-browser event handling
if (elem.addEventListener) elem.addEventListener(type, fn, false);
else if (elem.attachEvent) elem.attachEvent('on' + type, fn);
},
textField = document.getElementById('myField'),
placeholder = 'Type some text'; // The placeholder text
addEvent(textField, 'focus', function() {
if (this.value === placeholder) this.value = '';
});
addEvent(textField, 'blur', function() {
if (this.value === '') this.value = placeholder;
});
酷,它是HTML 5的一部分,http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr -input-placeholder – cic 2009-07-09 10:03:45
哇,我不知道。感谢您的链接! – moff 2009-07-09 10:07:37
+1本地Javascript。 – FrankieTheKneeMan 2012-10-09 20:47:56
使用onFocus
和onBlur
事件让你实现这个,即:
onfocus="if(this.value=='EGTEXT')this.value=''"
和
onblur="if(this.value=='')this.value='EGTEXT'"
完整的示例如下:
<input name="example" type="text" id="example" size="50" value="EGTEXT" onfocus="if(this.value=='EGTEXT')this.value=''" onblur="if(this.value=='')this.value='EGTEXT'" />
为无效和有效状态申报方式:
.active {
color: black;
}
.inactive {
color: #909090;
}
添加JavaScript的处理状态的变化:
function toggleText(el)
{
var v = el.value;
//Remove text to allow editing
if(v=="Default text") {
el.value = "";
el.className = "active";
}
else {
//Remove whitespace
if(v.indexOf(" ")!=-1) {
split = v.split(" ").join("");
v = split;
}
//Change to inactive state
if(v=="") {
el.value = "Default text";
el.className = "inactive";
}
}
}
添加您的inp UT框,默认值而定,inactive
类集和Javascript处理程序指向toggleText()
功能(你可以使用event listeners要做到这一点,如果你愿意的话)
<input type="text" value="Default text" class="inactive" onFocus="toggleText(this);" onBlur="toggleText(this);">
从视图中的文本可用性点输入组件应仅保留用于用户的输入目的。如果用户不触摸,输入中可能的默认值应该是有效的。
如果占位符文本的目的是为了提示如何填充输入,最好在输入附近对其进行填充,以便在填充输入时也可以看到它。此外,在文本组件中使用占位符文本会造成麻烦,例如配有盲文设备。
如果使用占位符文本,不管可用性指南如何,应确保它以不显眼的方式完成,以便它可以在没有javascript的用户代理或js关闭的情况下使用。
我发现jQuery插件(http://www.jason-palmer.com/2008/08/jquery-plugin-form-field-default-value/),并用它:)
或者干脆
<input name="example" type="text" id="example" value="Something" onfocus="value=''" />
一旦箱子被清除这不会回发的默认文本也将允许用户清除该框并在自动完成脚本的情况下查看所有结果。
你可以使用这个插件(我的合着者)
https://github.com/tanin47/jquery.default_text
其复制的输入字段,并把它放在那里。
它适用于IE,Firefox,Chrome甚至iPhone Safari,它有着名的焦点问题。
这样您就不必担心在提交前清除输入字段。
OR
如果你想HTML5而已,你可以用属性“占位符”上输入字段
您可以使用占位符属性。
np。 <input type="text" name="fname" placeholder="First name">
检查http://www.w3schools.com/tags/att_input_placeholder.asp
我所做的是把一个占位符属性为现代浏览器:
var placeholder = $('search').attr('placeholder');
//Set the value
$('search').val(placeholder);
//On focus (when user clicks into the input)
$('search').focus(function() {
if ($(this).val() == placeholder)
$(this).val('');
});
//If they focus out of the box (tab or click out)
$('search').blur(function() {
if ($(this).val() == '')
$(this).val(placeholder);
});
这适用于:
<input id='search' placeholder='Search' />
然后,使用JQuery我做旧的浏览器回退我。
- 1. 输入字段中的默认文本
- 2. 奇怪的输入文本和输入密码擦除默认输入密码
- 3. 更改输入类型='文件'的默认文本和样式
- 4. 输入默认的CSS
- 5. HTML/CSS输入/ textarea的,默认的文本和颜色
- 6. 默认文本
- 7. 将简单形式的默认值添加到文本输入
- 8. 作为jQuery datepicker的文本输入字段默认日期
- 9. 默认按钮覆盖富文本控件中的输入
- 10. 文本类型输入元素的默认值
- 11. 输入密码字段的默认文本
- 12. 添加默认值的文本输入角2
- 13. 如何在ActiveScaffold中设置文本输入的默认值?
- 14. 使用默认值输入文本的表单验证
- 15. 如何删除默认的输入文本
- 16. 更改崇高文本的默认输入源
- 17. PHP默认文本输入字段的值
- 18. 带对话框的默认输入文本
- 19. Combobox DropDownList默认提示输入文字
- 20. 的CKEditor,设置默认的文本颜色为新输入的文本
- 21. 当用户在Windows Phone上完成文本输入时的默认操作8
- 22. HTML/PHP - 默认输入值
- 23. SimpleForm默认输入类
- 24. 默认输入数字值
- 25. HTML输入默认值
- 26. Ember输入 - 默认值
- 27. 我怎么能在我的HTML输入文本添加默认文本
- 28. 从文本输入清除(和恢复)默认值
- 29. 用户文本框中输入默认值
- 30. 如何将输入文本值重置为默认值?
Duplicate:http://stackoverflow.com/questions/1073428/what-the-best-way-to-display-a-default-text-in-textbixes-and-textareas/1073514#1073514 – Quentin 2009-07-09 10:02:52
我找到了jQuery插件(http://www.jason-palmer.com/2008/08/jquery-plugin-form-field-default-value/)并使用它:) – Jaro 2009-07-10 11:20:29
老问题,我知道,但我写了一个非常轻量级的插件,因为我不喜欢那里的其他人。所有你需要做的就是包含它,在输入中添加'placeholder'作为一个类,并将默认文本放在'title'属性中。 https://github.com/justinbangerter/placeholder.js – jbangerter 2013-12-13 17:17:15