输入框不显示默认值

时间:2014-03-20 10:10:53

标签: jquery html

我有一个电子邮箱,我希望在其中显示默认值"输入您的电子邮件"

因此我在HTML中创建了一个电子邮箱:

<p> Email: <br /> <input type="email" size="30"/> </p>

以下jQuery:

$(document).ready(function(){
    var default = "Please enter your email adress;

    $("input").attr("value", default);
});

然而,它没有出现。有人建议我做错了吗?

6 个答案:

答案 0 :(得分:7)

为什么这样做,您可以直接使用placeholder属性。

不需要使用jquery或javascript

 <p> Email: <br /> <input type="email" size="30" placeholder="please enter your email address"/> </p>

答案 1 :(得分:3)

两件事:首先,default是JavaScript中的reserved word,因此不能用作变量名。将此更改为其他内容(例如defaultString):

var defaultString = ...;

其次,你错过了作业字符串上的结束"

var defaultString = "Please enter your email adress;
                                             ^

此外,您应该使用val()作为值,而不是attr()

$("input").val(defaultString);

答案 2 :(得分:3)

您也可以使用jquery水印:

$('#myElement').watermark('Enter your email');

请参阅jsfiddler:http://jsfiddle.net/NMtfK/

答案 3 :(得分:2)

尝试,

$("input").val(default);

答案 4 :(得分:2)

请勿使用default作为变量名称:SEE WHY?

$(document).ready(function(){
    var sdefault = "Please enter your email adress";

    $("input").attr("value", sdefault);
});

但你应该改用:

$("input").val(sdefault);

或者更好地在现代浏览器上使用占位符属性。

答案 5 :(得分:0)

使用占位符属性

 <input type="email" placeholder="Enter your email address"/>

注意:您关注的方法并不好,因为当您关注输入框时,您必须清除所有默认文本。因此,使用与同一目的相同的占位符。