web-dev-qa-db-fra.com

TypeError non capturé: impossible de définir la propriété «discrète» de non défini

Je reçois cette erreur dans le Chrome JScript. Cela s'est produit lorsque j'ai basculé vers les CDN Microsoft pour les scripts ci-dessous.

Je ne sais pas comment contourner cette sauvegarde, ne plus utiliser les CDN.

jquery.validate.unobtrusive.min.js: 5 TypeError non capturé: impossible de définir la propriété "discrète" de non définie

<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/themes/start/jquery-ui.css" rel='stylesheet' type='text/css'>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-1.7-development-only.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.11/jquery-ui.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmplPlus.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.min.js"></script>
37
010110110101

Une autre raison pour laquelle cette erreur peut se produire est que si vous chargez le script discret avant jquery.validate.

Donc,

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

est OK, mais:

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

donnera l'erreur "Impossible de définir la propriété" discrète "de non défini".

90
StuartQ

Je l'ai trouvé. Il me manquait deux lignes:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js"></script>

J'ai appris cela par en lisant cette page qui décrit le fonctionnement du script jquery.validate.unobtrusive.

13
010110110101