web-dev-qa-db-ja.com

不明なTypeError:未定義のプロパティ 'unobtrusive'を設定できません

Chrome JScriptデバッガーでこのエラーが発生しています。以下のスクリプトのMicrosoft CDNに切り替えたときに発生しました。

CDNを使用せずに、この保存を回避する方法がわかりません。

jquery.validate.unobtrusive.min.js:5 Uncaught TypeError:未定義のプロパティ「unobtrusive」を設定できません

<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

このエラーが発生するもう1つの理由は、jquery.validateの前に控えめなスクリプトをロードした場合です。

そう、

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

大丈夫ですが、:

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

「未定義のプロパティ 'unobtrusive'を設定できません」エラーが表示されます。

90
StuartQ

それを見つけた。次の2行が欠落していました。

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

これは、jquery.validate.unobtrusiveスクリプトの仕組みを説明する このページを読む で学習しました。

13
010110110101