2013-03-06 85 views
1

我做了一些表单验证输入的文本到一个textarea,我有一个其中有一个最初的占位符textarea和我试图检查用户输入的任何数据到textarea。如何判断用户使用jQuery

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

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

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

回答

1

,如果我用.VAL()没有什么是摆在首位有更新。那么在提交表单之前做这个检查的正确方法是什么?

val是检查的正确的东西,如果用户在textarea中输入了某些东西,将会是!= ""

当然,他们已经进入了的事情可能只是一个换行符,这可能不是你想要的。所以你可能会考虑:

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

......它忽略了领先的空白。

1

.val()应该工作。抓住提交事件以及:

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

嗯,还没有为我工作。如果我有textarea的占位符,会有所作为吗? – silvster27 2013-03-06 00:52:18

+0

@JSilva:这是什么'的console.log($( 'myUserText')VAL())'输出到控制台? – Blender 2013-03-06 00:52:48

+0

没关系。这工作!谢谢。认为我的选择器有问题。我将其改为基于类而不是名称进行选择。很高兴知道它将与占位符一起工作。 – silvster27 2013-03-06 00:53:54

相关问题