2010-04-05 5 views
0

J'essaie de valider une page html en utilisant jquery, mais rien ne se passe. c'est une page simple, mais les zones de texte ne sont pas validées.validation en utilisant jquery

Voici le code:

<link rel="stylesheet" type="text/css" href="style.css" /> 
<script type="text/javascript" src="~/jquery.js/"></script> 
<script type="text/javascript" src="~/jquery-validate/jquery.validate.js/"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    var validator = $("#submitForm").validate({ 
      debug: true, 
      rules: { 
       author: "required", 
       quote: "required" 
      }, 
      messages: { 
       author: "Name of Author required" 
       quote: "Please enter Quote" 
      }, 
      errorPlacement: function(error, element) { 
       error.appendTo(element.parent().top()); 
      } 
    ); 
    }); 
    </script> 

<body> 

<div class="container"> 
<div class="center_div"> 
<h2>Submit Your Quote</h2> 
<fieldset> 
<form id="submitForm" action="qinsert.php" method="post"> 
<div class="error" style="display:none"></div> 
<div class="field"> 
<label>Author: </label> 
<input name="author" type="text" class="required" minLength=3> 
<span class="error"></span> 
</div><br /> 
<div class="field"> 
<label>Quote: </label> 
<textarea name="quote" cols=22 class="required" minLength=5></textarea> 
<span class="error"></span> 
<br /> 
</div> 
<input id="button1" type="submit" value="Submit" class="submit" /><br /> 
<input id="button2" type="reset" value="Reset" /> 
</form> 
</fieldset> 
</div> 
</div> 

ce qui ne va pas avec le code? Je vous remercie!

Répondre

1

Juste un coup d'œil, il semble qu'il vous manque un '}' de fermeture dans votre javascript. Je pense que vous ne fermez pas la validation ({correctement. Essayez d'ajouter l'accolade} devant votre); après la fonction errorPlacement.

$(document).ready(function(){ 
var validator = $("#submitForm").validate({ 
     debug: true, 
     rules: { 
      author: "required", 
      quote: "required" 
     }, 
     messages: { 
      author: "Name of Author required" 
      quote: "Please enter Quote" 
     }, 
     errorPlacement: function(error, element) { 
      error.appendTo(element.parent().top()); 
     } 
    }); 
    }); 
+0

Voir le commentaire sur votre réponse pour plus d'explications sur les attributs src de l'étiquette de script – Tommy

1

Je ne l'ai pas utilisé le plugin de validation jquery avant, mais il y a évidemment une virgule manquante ici:

messages: 
{ 
      author: "Name of Author required", 
      quote: "Please enter Quote" 
}, 

Ne pas avoir ce plugin à la main, donc je ne peux pas obtenir un code en cours d'exécution échantillon maintenant .

Personnellement, je pense qu'un mode de validation déclaratif est plus attrayant pour moi, ce qui signifie que plutôt que de mettre les exigences de validation directement dans votre code javascript, vous pouvez les marquer de manière déclarative à l'intérieur de html. Le moteur de validation puis sera vérifier chaque champ requis, etc ...

Si cela semble raisonnable pour vous, je vous recommande un autre plugin de validation: jQuery inline validation

0

Vérifiez le chemin de vos bibliothèques jQuery. Leur étant dans un répertoire nommé ~ et suffixé avec / semble improbable. S'ils sont dans le même répertoire, la syntaxe correcte est la suivante:

<script type="text/javascript" src="jquery.js"></script>