1

我正在做一些表单验证,我有一个文本区域,其中有一个初始占位符,我正在尝试检查用户是否在文本区域中输入了任何数据。

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

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

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

3 回答 3

1

.val()应该管用。同时捕获提交事件:

$('form').submit(function(e) {
    if (!$('.myUserText').val() == '') {
        e.preventDefault();
        // The form won't submit
    }
});
于 2013-03-06T00:50:27.883 回答
1

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

val是正确的检查,!= ""如果用户在 textarea 中输入了某些内容。

当然,他们输入的内容可能只是一个换行符,这可能不是您想要的。所以你可能会考虑:

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

...忽略前导空格。

于 2013-03-06T00:49:39.610 回答
0

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

祝你好运!

于 2013-03-06T01:26:37.250 回答