我的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', ' ');
}
});
});
答案 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('');
}
});
});