如何判断用户是否使用jquery将文本输入到textarea中

时间:2013-03-06 00:48:17

标签: jquery forms validation twitter-bootstrap textarea

我正在进行一些表单验证,并且我有一个textarea,其中包含一个初始占位符,我正在尝试检查用户是否在textarea中输入了任何数据。

如果我使用jquery .text()检查,它看不到在浏览器级别添加的文本,如果我使用.val(),则首先不会更新任何内容。那么在提交表单之前进行此检查的正确方法是什么?

<div>
   <textarea class="myUserText"></textarea>
</div>

function validateForm(){
   if($('.myUserText').text()==""){
        //do something here
   }
}

3 个答案:

答案 0 :(得分:1)

  

如果我使用.val(),那么首先不会更新任何内容。那么在提交表单之前进行此检查的正确方法是什么?

val是正确的检查对象,如果用户在textarea中输入内容,则为!= ""

当然,他们输入的东西可能只是一个新行,可能不是你想要的。所以你可能会考虑:

if($('.myUserText').val().replace(/^\s+/, "") === "")

...忽略了前导空格。

答案 1 :(得分:1)

.val()应该有效。抓住提交事件:

$('form').submit(function(e) {
    if (!$('.myUserText').val() == '') {
        e.preventDefault();
        // The form won't submit
    }
});

答案 2 :(得分:0)

...或者如果您有兴趣使用一些最新的HTML5选项:

祝你好运!