2011-10-27 12 views
28

Ricevo questo errore nel debugger di JScript di Chrome. È successo quando sono passato a Microsoft CDN per gli script di seguito.Uncaught TypeError: Impossibile impostare la proprietà 'non invadente' di undefined

Non sono sicuro di come aggirare questo salvataggio, non utilizzando più i CDN.

jquery.validate.unobtrusive.min.js: 5 TypeError Uncaught: Impossibile impostare la proprietà 'discreto' di indefinito

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

risposta

73

Un altro motivo per cui questo errore può verificarsi è se si carica lo script non invadente prima di jquery.validate.

Quindi,

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

è OK, ma:

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

darà "proprietà non può impostare 'discreto' di non definito" l'errore.

11

Trovato. Mi mancava due linee:

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

Ho imparato questo da reading this page che descrive il funzionamento dello script jquery.validate.unobtrusive.