2011-10-27 17 views
28

Recibo este error en el depurador de Chrome JScript. Sucedió cuando cambié a los CDN de Microsoft para los scripts a continuación.TypeError no capturado: No se puede establecer la propiedad 'discreta' de indefinido

No estoy seguro de cómo evitar esto, ya no usar las CDN.

jquery.validate.unobtrusive.min.js: 5 TypeError no detectada: No se puede establecer la propiedad 'discreto' de la indefinida

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

Respuesta

73

Otra razón por la que este error puede ocurrir es si carga la secuencia de comandos no intrusiva antes de jquery.validate.

Así,

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

está bien, pero:

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

dará "propiedad no se puede establecer 'discreto' de la indefinida" el error.

11

encontré. Me estaba perdiendo dos líneas:

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

Esto lo aprendí por reading this page que describe cómo funciona el guión jquery.validate.unobtrusive.

Cuestiones relacionadas