我认为这是一个简单的问题,但我不知道如何在谷歌上搜索这个问题
我需要在输入文本字段中输入背景文本。喜欢:插入你的名字。当我在字段中输入我的名字时,文本消失了
好的,谢谢你的解决方案。
<input id="textfield" name="textfield" type="text" placeholder="correct" />
现在我有第二个问题了。如何更改占位符的颜色?这是我的文本区:http://jsfiddle.net/wy8cP/1/
发布于 2012-10-25 23:22:16
下面是使用HTML5获取占位符的方法:
<input id="textfield" name="textfield" type="text" placeholder="enter something" />
编辑:
我不再推荐像我在下面展示的那样,把你自己的polyfills拼凑在一起。首先应该使用Modernizr检测是否需要多边形填充,然后激活满足您需要的多边形填充库。占位符多边形填充listed in the Modernizr wiki有很好的选择。
原件(续):
为了兼容,下面是一个polyfill:
<input id="textfield" name="textfield" type="text" value="enter something" onfocus="if (this.value == 'enter something') {this.value = '';}" onblur="if (this.value == '') {this.value = 'enter something';}">
更好的填充方法是在页面加载时运行此脚本,并将占位符放在data-placeholder属性中,因此您的标记如下所示:
<input id="textfield" name="textfield" type="text" data-placeholder="enter something">
你的js看起来像这样:
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
inputs[i].value = inputs[i].getAttribute('data-placeholder');
inputs[i].addEventListener('focus', function() {
if (this.value == this.getAttribute('data-placeholder')) {
this.value = '';
}
});
inputs[i].addEventListener('blur', function() {
if (this.value == '') {
this.value = this.getAttribute('data-placeholder');
}
});
}
发布于 2012-10-25 23:19:10
HTML5提供了一个placeholder
属性来解决这个特定问题。有关详细信息,请参阅this link (JSFiddle)
<input type="text" placeholder="insert your name" />
你可以随时提供一个非HTML5javascript回退,就像here解释的那样,或者在None jquery placeholder fallback?中如果你不使用JQuery的话。
发布于 2012-10-25 23:19:15
我认为您正在寻找HTML5表单域占位符...:)
http://webdesignerwall.com/tutorials/cross-browser-html5-placeholder-text
https://stackoverflow.com/questions/13071791
复制相似问题