程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Bootstap datetimepicker報錯TypeError: intermediate value

Bootstap datetimepicker報錯TypeError: intermediate value

編輯:關於PHP編程

Bootstap datetimepicker報錯TypeError: intermediate value


Bootstrap datetimepicker有多個版本,官方的鏈接中,只是datepicker,沒有時間的選擇,原版的datetimepicker也不再更新,不能用新版的jquery。
現在https://github.com/Eonasdan/bootstrap-datetimepicker這個版本最完善,但是一大堆依賴很頭疼;
https://github.com/smalot/bootstrap-datetimepicker還不錯,比較輕巧,但是用起來報錯。

報錯:

  1. TypeError: (intermediate value).toString(...).split(...)[1] is undefined


  2. ...d"?false:k.title;this.defaultTimeZone=(new Date()).toString().split("(

原文:

  1. this.defaultTimeZone=(new Date()).toString().split("(")[1].slice(0,-1);
意思為:先取得Date對象,然後再字符串化,再用(來分隔字符串,然後取其中的第二個,再從右向左取第一項,也就是取時區項。
但在Firefox中,字符串化的結果為:“Wed May 25 2016 16:07:14 GMT+0800”,沒有括號,導致錯誤。

更為通用的,時區可以用getTimezoneOffset()來獲取,這個結果的單位是分鐘,所以要除以60才可以:
修改為:
  1. this.defaultTimeZone='GMT '+(new Date()).getTimezoneOffset()/60

修改後就可以正常使用了。



另外還有一個字體錯誤,如果使用了fa字體,則會報錯,系統中會檢測不到fontAwesome,所以可以直接賦這個變量為true:

  1. this.fontAwesome=k.fontAwesome||this.element.data("font-awesome")||false;
改為:
  1. this.fontAwesome=true



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved