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>
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".
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.