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"); } 

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

好的,如果我有多于或少于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 .. } }); 

正如你在语法荧光笔中看到的那样,引号变得虚伪:)有一个双引号缺失。

此外, val()仅适用于input元素( inputselecttextareabutton )。 如果它确实不是input元素,那么请改用text() 。 此外,没有像length()这样的函数,你可能想使用length属性。

我建议你去学习一些基本的jQuery教程和/或去获取一本jQuery书 。

除了错过结束引号分隔符,这里还有一些其他注释

  • length是属性,而不是方法。 它应该是message.val().length
  • val()也仅对HTML输入元素有用。 您可以尝试使用message.html().length或使用text() ,具体取决于您的要求

怎么样.length而不是length()

你可以试试

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