1

#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);
              }
  });
4

2 に答える 2

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
});

ちなみに、実装しようとしているのはフォームフィールドのプレースホルダーです。placeholderHTML5の属性について読む価値があります。

于 2012-11-20T12:06:01.633 に答える
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);
        }
    });
});
于 2012-11-20T12:06:59.370 に答える