"Ce message [0] est indéfini" en utilisant jQuery validate plugin
J'ai commencé à utiliser le jQuery valider plugin. J'ai eu quelques problèmes avec l'affichage des messages d'erreur et voulait créer une page de test où j'ai pu expérimenter avec un certain nombre de choses. Malgré la même configuration de travail pour moi hier, je suis maintenant le follwing message:
this[0] is undefined
en regardant le code jQuery, il échoue dans la section suivante (ligne spécifique en surbrillance):
valid: function() {
if ( $(this[0]).is('form')) {
return this.validate().form();
} else {
var valid = true;
**var validator = $(this[0].form).validate();**
this.each(function() {
valid &= validator.element(this);
});
return valid;
}
}
de le regarder, il doit penser que mon validateur n'est pas un formulaire, mais il est. Je ne comprends pas vraiment ce qu'il se passe. Le code échoue lorsque vous essayez d'imprimer le résultat de la valide() méthode de la console. Voici mon code jusqu'à présent. Reconnaissant pour toute aide.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
th {
text-align: center;
}
.labelCol {
width: 60px;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.full.js"></script>
<script type="text/javascript" src="jquery.validate.full.js"></script>
<script type="text/javascript">
$('#myform').validate({
rules: {
thisval: "required"
}
});
console.info($('#myform').valid());
</script>
</head>
<body>
<form id="myform" name="myform" action="" method="post">
<table>
<tr>
<th colspan="2">Header Section</th>
</tr>
<tr>
<td class="labelCol">This Title</td>
<td class="valueCol">
<input type="text" name="thisval" id="thisval"
maxlength="45" size="45" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="submit" />
</td>
</tr>
</table>
</form>
</body>
</html>
source d'informationauteur Joe
Vous devez vous connecter pour publier un commentaire.
Votre
#myform
formulaire n'est pas chargé lorsque le script est exécuté, de sorte$('#myform')
ne correspond pas à quoi que ce soit. Enveloppez votre script dans un prêt à l'emploi gestionnaire d'événement.Envelopper votre code dans un document prêt fonctions telles que:
Même qui s'est passé ici. Pour moi, c'était une faute de frappe dans mon code:
Im mon cas, cela se produit lorsque vous oubliez de spécifier l'id dans la balise de formulaire où vous avez spécifié dans la méthode de validation.