-2

我的 javascript 出现了一些错误,我不知道出了什么问题。我刚刚做了一个简单的 jQuery 语句来检查电子邮件字段是否有默认值,如果有,请清除该字段

这是我正在使用的代码的 jsFiddle 链接:http: //jsfiddle.net/qLfBH/ 我不明白为什么 jslint 抱怨第 5 行“缺少分号”等。

$(document).ready(function () {
    var email_default = "Enter your email address...";

    $(':input').filter('[type="email"]').attr('val', email_default).focus({
    if ($(this).val() == email_default) ;{
        $(this).attr('val', ' ');
    }
    });
});

我也尝试过使用 firebug 进行调试,但 javascript 不会显示在脚本面板中 - 可能是因为一些语法错误。任何帮助将非常感激。

更新

我编辑了代码,但它仍然抱怨“缺少分号”(请参阅​​小提琴http://jsfiddle.net/qLfBH/3/的链接)

$(document).ready(function () {
var email_default = "Enter your email address...";

$(':input').filter('[type="email"]').attr('value', email_default).focus({
    if ($(this).val() == email_default) {
        $(this).attr('val', ' ');
    }

});
});

固定的

好的,谢谢大家的帮助。我忘记了焦点下的“功能”。我纠正了以下错误及其工作:)

$(document).ready(function () {
var email_default = "Enter your email address...";

$(':input').filter('[type="email"]').attr('value', email_default).focus(function () {
    if ($(this).val() == email_default) {
        $(this).attr('val', ' ');
    }
});
});
4

4 回答 4

1

删除 if 语句后的分号

if ($(this).val() == email_default) ;{ // <----SHOULDNT BE THERE
    $(this).attr('val', ' ');
}

if ($(this).val() == email_default) {
    $(this).attr('val', ' ');
}
于 2013-03-19T16:20:29.733 回答
1

几个问题。这是一个清理后的版本:

var email_default = "Enter your email address...";
$(':input[type="email"]').val(email_default).on('focus', function () {
    if ($(this).val() == email_default) {
        $(this).val(' ');
    }
});

jsFiddle 示例

注意,你也可以放弃 jQuery 并使用 HTML5 的 placeholder 属性:

<input type="email" placeholder="Enter your email address...">
于 2013-03-19T16:23:53.620 回答
0

查看更新:

$(document).ready(function () {
  var email_default = "Enter your email address...";

  $('input[type="email"]').val(email_default).focus(function () {  //<-- add function()
    if ($(this).val() == email_default) {   //<-- removed semicolon here
        $(this).val(' ');                   //<-- either .attr('value',' ') or .val(' ')
    }
  });
});

样本

于 2013-03-19T16:20:59.593 回答
0

用这个替换你的 JavaScript 代码

$(document).ready(function () {
  var email_default = "Enter your email address...";

  $('input').filter('[type=email]').val(email_default).focus(function() { 
        if ($(this).val() == email_default) {
            $(this).val('');
    }
    });
});
于 2013-03-19T16:33:59.237 回答