我使用此代码创建一个字段
<tr><td> <input type="text" value="good" onfocus="if (this.value == 'good') {this.value=''}" onblur="if(this.value == '') { this.value='good'}" name="name" maxlength="254" class="required" /></td></tr>
当用户点击字段时,我们有清空字段。如果用户将字段设为空,我们会回写此good
值。但这不是我想要的,我正在寻找用户注册表单等方式在Facebook然后如果用户键入一个字符我们清除值,如果用户保持字段为空,我们将使用默认值填写此字段。有人帮助我使用此javascript或jquery?
答案 0 :(得分:1)
您可以使用placeholder
属性
<tr>
<td>
<input type="text" placeholder="good" name="name" maxlength="254" class="required" />
</td>
</tr>
只要用户没有输入文字,就会显示,但不会更改value
属性。
JSFiddle进行测试。
答案 1 :(得分:1)
尝试将输入更改为:
<tr>
<td>
<input type="text" value="good" placeholder="good" name="name" maxlength="254" class="required defaultText" />
</td>
</tr>
并添加一些jQuery代码:
$(document).ready(function() {
$(".defaultText").focus(function(srcc) {
if ($(this).val() == $(this)[0].placeholder) {
$(this).val("");
}
});
$(".defaultText").blur(function() {
if ($(this).val() == "") {
$(this).val($(this)[0].placeholder);
}
});
$(".defaultText").blur();
});
defaultText
样式类用于选择html元素,元素中的placeholder
正在定义它的默认值。
修改:为title
更改了placeholder
,这样就可以与html5或之前的
答案 2 :(得分:1)
如果占位符属性不可行,则可以使用onkeydown事件而不是onfocus。