2010-02-20 115 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

怎麼樣。長度,而不是長度()