jquery validateが呼び出されて.html
head
います。1ページにフォームがあり、2ページ目に同じフォームがあります。ただし、1ページから開始すると、2ページに進みます。フィールドが検証しようとすると、設定エラーが発生します。 2ページから1ページまでその逆です。調査の結果、問題は次の原因で発生しているようです。
// constructor for validator
$.validator = function( options, form ) {
// console.log('validator construct');
this.settings = $.extend( true, {}, $.validator.defaults, options );
// console.log(this.settings);
this.currentForm = form;
this.init();
};
これら2つのいずれかを許可するとconsole.logs
、エラーは表示されません。ただし、そうせずにconsole.logをスローしてthis.init();
も、エラーは引き続き表示されます。
Uncaught TypeError:未定義のjquery.validate.js:894のプロパティ「設定」を読み取れません
実行前に変数の設定を完了するには数ミリ秒かかるとinit()
思いますか?これを行わずにエラーを防ぐためのより良い方法はありconsole.log()
ますか?すべてのブラウザがサポートconsole.log
しているわけではないので、エラーが発生してスクリプトの実行が終了しないようにしたくありません。
- jQuery 1.8.2
- jQuery Validate 1.11.0pre
- jQuery Mobile 1.2