2010-02-20 113 views
3

什么是错的这种说法?jQuery是不是一个函数错误

message = $("#contact-form").find(".long-text"); 

if(message.val().length < 15) 
{ 
    message.css("border","2px solid red"); 
    alert("Your message must be more than 15 character long"); 
} 

我得到message.val不是Firebug中的函数错误?可能是什么原因?

好了,现在我的状态不会,如果我有多于或少于15个字符提交。我应该打开这个新的问题,或者我应该继续在这一个?

我这里面:

$("#contact-form").submit(function(){ 
    message = $("#contact-form").find(".long-text"); 

    if(message.val().length < 15) 
    { 
     message.css("border","2px solid red"); 
     alert("Your message must be more than 15 character long"); 
     return false; 
    } 
    else { 
     Post form with Ajax .. 
    } 
}); 
+1

每个独立的问题,应该有它自己的线程。 – BalusC 2010-02-20 23:00:09

回答

5

正如你可以在语法高亮看到,行情走到假:)有一个双引号缺失。

此外,val()仅适用于input元素(inputselecttextareabutton)。如果它确实不是一个input元素,那么还是用text()代替。另外还有如length()没有这样的功能,你可能想使用length属性。

我建议你去弄点基本的jQuery tutorials和/或去拿jQuery book

0

除了缺少结束引号分隔符,这里有一些其他注意事项

  • length是一个属性,而不是方法。它应该是message.val().length
  • val()也只对HTML输入元素有用。你可以尝试message.html().length或使用text(),根据您的要求
-1

你可以尝试

message = $("#contact-form").find(".long-text").first(); 
0

怎么样。长度,而不是长度()