2010-02-20 6 views
3

Quel est le problème avec cette instruction?jQuery n'est pas une erreur de fonction

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

Je reçois message.val n'est pas une erreur de fonction dans Firebug? Quelle pourrait être la raison?

NOUVEAU

OK, maintenant ma forme ne se soumettra pas si j'ai plus ou moins de 15 caractères. Dois-je ouvrir une nouvelle question à ce sujet ou devrais-je continuer sur celui-ci?

Je possède ce à l'intérieur:

$("#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

Chaque question indépendante est censé avoir son propre fil . – BalusC

Répondre

5

Comme vous pouvez le voir dans la syntaxe surligneur, les citations sont allés :) bogus Il y a un guillemet manquant.

Par ailleurs, les travaux ne val() sur input éléments (input, select, textarea et button). Si ce n'est pas un élément input, utilisez plutôt text() à la place. En outre, il n'existe aucune fonction telle que length(), vous voudrez probablement utiliser la propriété length.

Je recommande d'aller à travers un peu de base jQuery tutorials et/ou d'obtenir un jQuery book.

0

En plus de manquer le délimiteur de fin de citation, voici quelques autres notes

  • length est une propriété, pas une méthode. Il devrait être message.val().length
  • val() est également utile uniquement pour les éléments d'entrée HTML. Vous pouvez essayer message.html().length ou utiliser text(), en fonction de vos besoins
-1

Vous pouvez essayer

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

Que diriez-vous .length au lieu de la longueur()

Questions connexes