2011-12-28 19 views
0

私のためにカスタム開発されたWordPressプラグインのanytime.js datepickerライブラリを使用しています。私はそれは私がオリジナルの開発者ではないので、私はライブラリを取り除き、そのライブラリ専用の関数に多くの呼び出しを置き換えることを意味するため、ライブラリを取り除くことを恐れています。あなたがここにそのライブラリを参照することができAnytime.js Javascript Datepicker throwing consoleエラー

:残念ながらhttp://www.ama3.com/anytime/

を、ライブラリーは、バージョン3.3のようWordPressのバックエンドのいくつかの重要な機能を壊しています。ライブラリを無効にすると問題が完全に解決されることを確認しました。コンソールに係るコードの問題の行をanytime.jsライン3032 var left = off.leftである - 次の行(3039 3027)に

Uncaught TypeError: Cannot read property 'left' of null 
AnyTime.picker.__pickers.(anonymous function).posanytime.js:3032 
AnyTime.picker.__pickers.(anonymous function).initializeanytime.js:1858 
f.event.dispatchload-scripts.php:3 
f.event.add.h.handle.iload-scripts.php:3 
f.event.triggerload-scripts.php:3 
f.fn.extend.triggerHandlerload-scripts.php:3 
(anonymous function)load-scripts.php:3 
f.Callbacks.nload-scripts.php:2 
f.Callbacks.o.fireWithload-scripts.php:2 
e.extend.readyload-scripts.php:2 
c.addEventListener.B 

 if (this.pop) 
     { 
      var off = this.inp.offset(); 
      var bodyWidth = $(document.body).outerWidth(true); 
      var pickerWidth = this.div.outerWidth(true); 
      var left = off.left; 
      if (left + pickerWidth > bodyWidth - 20) 
      left = bodyWidth - (pickerWidth + 20); 
      var top = off.top - this.div.outerHeight(true); 
      if (top < 0) 
      top = off.top + this.inp.outerHeight(true); 
      this.div.css({ top: String(top)+'px', left: String(left<0?0:left)+'px' }); 
     } 

Google Chromeのコンソールは、次のエラーをスロー

これをデバッグする方法の提案はありますか?

答えて

1

問題は、ページが存在しないフィールドのピッカーを作成しようとしていることです。 問題の原因はanytime.jsにありませんが、インラインスクリプトの内側にあります(具体的には、ブラウザによって報告されたedit.php行54と55)。

ページごとに同じピッカー作成コードがページで呼び出されているように見えます(日付フィールドの有無にかかわらず)。ページは存在しないフィールドのピッカーを作成しようとすべきではありません!

+0

これはanytime.jsではなく、カスタムプラグインでどのように呼び出されたかを示しています。インラインの '

関連する問題