不想提交预先填写的值textarea;我对文本区域进行了必要的验证,但也没有被捕获

时间:2013-07-01 03:10:00

标签: javascript jquery html textarea

我有一个填充了文本的textarea,如果你点击它但是当你离开时没有输入任何内容,将会再次填充默认的预填充文本;我不想允许我的表格提交预先填写的文字;我该如何处理这个问题?

我的代码:

jQuery(document).ready(function($) {
    $("textarea").val("Please enter your email content here...");
   $("textarea").focusout(function() {
        if ($(this).val() === "") {
            $(this).val("Please enter your email content here...");
        }
    });
    $("textarea").focus(function() {
        if ($(this).val() === "Please enter your email content here...") {
            $(this).val("");
        }
    });
});

2 个答案:

答案 0 :(得分:0)

简单地做:

<textarea placeholder="Default text here"></textarea>

否则,如果您需要支持 oldies 而不是尝试存储您的def。将文本转换为变量并在提交检查时提交的值实际上是您的默认值。

http://jsbin.com/unuqes/1/edit

jQuery(function($) {

  var $txtA = $("textarea");
  var emailDef = "Please enter your email content here...";

  $txtA.val(emailDef);

  $txtA.focusout(function() {
     if ($.trim(this.value) === "") {
         this.value = emailDef;
     }
  });

  $txtA.focus(function() {
     if( this.value === emailDef ) {
         this.value="";
     }
  });

  $('form').submit(function(){
    var txtAval = $txtA[0].value;
    if(txtAval==emailDef || !$.trim(txtAval)){
      alert("Missing your email!");
      return false;
    }
  });

});

答案 1 :(得分:0)

为什么不使用placeholder来显示消息?

我不明白你为什么要使用jQuery