2011-06-15 76 views
0

此编码是否正确?如果在Javascript中声明?

if(!($('textarea: name').val().length == 0)) { 
alert("test"); 
} 

我想检查一下表单中textarea字段内是否有写入的内容?我问,因为它不工作!?

+0

您是否将此函数绑定到textarea事件?因为如果你这样做,那么你不需要使用$('textarea:name')选择器,你将已经'this'。 – megas 2011-06-15 18:23:28

回答

2

if(!($('textarea').val().length == 0))会工作。我想你试图做与:name选择是选择一个特定的textarea基于它的名字,在这种情况下,你需要:

$('textarea[name=yourName]')

+0

不错!这是我想要的,但我使用textarea的ID而不是从头开始的名称。 ID不工作像这样$('textarea [#yourName]')? – 2011-06-15 18:14:07

+0

你可以做'$('textarea#yourName')'或者只是'$('#yourName')''。第二个将会执行得更快。 – justis 2011-06-15 18:20:37

+0

完美!谢谢! – 2011-06-15 18:25:31

4

您在if声明中错过了您的最后一个包装。试试这个:

if(!($('textarea: name').val().length == 0)) 
    {alert("test");} 

可能还有其他的jQuery选择器问题。如果你只有一个textarea在你的页面元素

+3

也是选择器。什么是'$('textarea:name')'应该是? – BoltClock 2011-06-15 18:03:03

+0

谢谢!关闭parens到位! – 2011-06-15 18:12:08

0
if ($('textarea: name').val().length > 0) { 
    // do something if textbox has content 
} 
2

由于长度为0,是“falsy”,可以简化测试使用刚刚.length

if ($('textarea[name=foo]').val().length) { 
    alert(true); 
} else { 
    alert(false); 
} 

Here is a jsFiddle在那里你可以用它玩。

+0

谢谢!这很有用! – 2011-06-15 18:15:48