javascript jquery错误无法解决

时间:2013-03-19 16:19:04

标签: javascript jquery

我的javascrript出现了一些错误,我无法弄明白 怎么了。我刚刚制作了一个简单的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 个答案:

答案 0 :(得分:1)

if if statement

后删除半冒号

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

if ($(this).val() == email_default) {
    $(this).attr('val', ' ');
}

答案 1 :(得分: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 example

注意,您也可以放弃jQuery并使用HTML5的占位符属性:

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

答案 2 :(得分: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(' ')
    }
  });
});

<强> Sample

答案 3 :(得分: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('');
    }
    });
});