2012-07-30 7 views
0

J'essaie de valider l'entrée de l'utilisateur dans un formulaire instantanément en utilisant jquery. J'ai écrit ce segment, mais en réalité il ne fait pas ce que je veux. Je suppose qu'il devrait montrer un message si l'utilisateur n'est pas d'accord. De plus, cela fonctionnait correctement pendant un certain temps, mais cela ne fonctionne pas. Merci de votre aide.La validation dans jQuery ne fonctionne pas

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 

<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<title>Form</title> 
<script src="lib/jquery.js" type="text/javascript"></script> 
<script src="lib/jquery.metadata.js" type="text/javascript"></script> 
<script src="jquery.validate.js" type="text/javascript"></script> 

<script type="text/javascript"> 

$.metadata.setType("attr", "validate"); 

$(document).ready(function() { 
$("#form1").validate({ 
messages: { 
checkbox1: {required: 'you must agree'} 
     } 
} 
); 
}); 
</script> 

</head> 

<body> 
<div id="apDiv1"> 
<h1 style="text-align:center">STEP ONE</h1> 
</div> 

<form id="form1" action="action.php" method="post"> 

Enter Your Number 
    <label> 
     <input name="textfield1" type="text" id="textfield1" /> 
    </label> 

<p/> 
I agree 
<input type="checkbox" name="checkbox1" id="checkbox1" validate="required:true"/> 

<p/> 
<input type="submit" name="submit" value="Next" /> 


</form> 

</body> 

</html> 
+0

Quelle est la différence entre votre code et le code dans [ce violon] (http://jsfiddle.net/C8pd8/)? Cela semble fonctionner correctement pour moi. –

+0

Merci Andrew Whitaker. Je l'ai essayé sur jsFiddle, et cela fonctionne correctement. Mais quand je le teste sur mon navigateur hors-ligne (par exemple localhost dans Firefox et chrome), cela ne fonctionne pas. Aussi, je pensais que la version de jquery pouvait avoir un effet dessus, mais ce n'est pas vrai car j'ai testé plus d'une version, et toutes m'ont donné un résultat correct sur jsFidle et aucun résultat sur mon localhost. –

+0

@creativeCreative: vérifie si tes fichiers js sont dans le bon chemin? –

Répondre

0

Enfin, il a été solved.Here est ce que je faisais exactement:

je me suis déplacé le dossier lib dans le répertoire supérieur afin que les balises associées ressembleraient cette

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

aussi je mets le fichier jquery.validate.js un niveau, et le script sera:

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

En fait, je ne sais pas quel est le problème avec les répertoires, mais cela fonctionne de cette manière. Merci de vos réponses et commentaires.

0

Juste un coup de feu dans l'obscurité ...

Ne pas utiliser le nom 'submit' comme l'attribut name de votre bouton Envoyer ...

Thats me a quelques occasions avec le plugin occasionnel.

Dom

+0

Merci, mais en fait, cela ne m'a pas aidé dans ce numéro. –

Questions connexes