无法使用jQuery更改输入的defaultValue属性

时间:2012-04-25 06:10:02

标签: javascript jquery forms

我有一些onfocus / onblur处理程序用于在聚焦时清除默认内容的字段,但仅当值等于默认值时(以便不删除任何用户输入)。

该字段还可以在输入之间切换。因此,用户可以单击按钮而不是接受用户名,它将接受电子邮件地址。这将需要不同的默认值,例如“输入您的电子邮件地址”。需要更改实际属性属性defaultValue以允许我的焦点/模糊处理程序正常工作,使用以下内容:

$('input#ident-field').prop('defaultValue', 'enter your email address');

这似乎不起作用,因为如果您在要求提供电子邮件地址时对该字段进行关注,则不会将其清除。

3 个答案:

答案 0 :(得分:4)

您应该使用HTML5属性placeholder

<input type="text" placeholder="Enter Your email address" / >

答案 1 :(得分:0)

尝试使用此Demo JSFiddle链接:http://jsfiddle.net/2yEtK/5/

希望这对你有帮助。

答案 2 :(得分:0)

您可以使用焦点和模糊功能来执行此操作:

$('input#ident-field').val("enter your email address");
// or $('input#ident-field').prop('defaultValue', 'enter your email address');
$('input#ident-field').focus(function(){
    $(this).val("");
});
$('input#ident-field').blur(function(){
    if($(this).val().trim() == "")
    {
        $(this).val("enter your email address");
    }
});