jQuery - 输入值替换

时间:2012-11-20 12:01:39

标签: jquery forms

我有以下代码,它应该定位#newsletter输入,将默认文本添加到其中,然后在用户选中/单击输入时将其删除。但它似乎不起作用,我得到以下控制台错误:

Uncaught SyntaxError: Unexpected end of input

有什么想法吗?

$(function() {
  var defaultText = "Your email address";
  $('#newsletter').val(defaultText).focus(function() {
      if (this.value == defaultText) {
          $(this).val('');
      }
  }).blur(function() {
              if (this.value == '') {
                  $('#newsletter').val(defaultText);
              }
  });

2 个答案:

答案 0 :(得分:4)

您在代码中缺少右括号:

$(function() {
    var defaultText = "Your email address";
    $('#newsletter').val(defaultText).focus(function() {
        if (this.value == defaultText) {
            $(this).val('');
        }
    }).blur(function() {
        if (this.value == '') {
            $('#newsletter').val(defaultText);
        }
    });  // <-- check it here
});

顺便说一下,您尝试实现的是表单字段的占位符。有必要阅读HTML5中的placeholder属性。

答案 1 :(得分:2)

});在代码结束时丢失,因此问题是由于不平衡的支撑。

这里是更正版本

$(function() {
    var defaultText = "Your email address";
    $('#newsletter').val(defaultText).focus(function() {
        if (this.value == defaultText) {
            $(this).val('');
        }
    }).blur(function() {
        if (this.value == '') {
            $('#newsletter').val(defaultText);
        }
    });
});