javascript中遇到Cannot read property 'split' of undefined問題


function NewDate(dateTime) {
            var fulldate = dateTime.split('-');
            var day = fulldate[2].split(" ");
            var time = day[1].split(":");
            var date = new Date();
            date.setFullYear(fulldate[0]);
            date.setMonth(fulldate[1] - 1);
            date.setDate(day[0]);
            date.setHours(time[0], time[1], 0, 0);
            return date;
        }

            var sttime, edtime;
            var startTime = document.getElementById("start_time").value;
            var endTime = document.getElementById("end_time").value;
            sttime = NewDate(startTime);
            edtime = NewDate(endTime);
           

  在使用jquery-ui-timepicker控件時遇到了月份選擇時控件顯示沒有正確切換的問題,查看了下發現報錯信息為Cannot read property 'split' of undefined,說明在調用NewDate函數時參數“dateTime”類型不正確,沒'split'屬性。

  然后想了下,其實就是dateTime為空。因為在啟用控件時,

<input type="text" id="start_time">
<input type="text" id="end_time">

兩個的輸入框都還為空值,導致調用的NewDate(dateTime)函數報錯,所以timepicker控件異常。假如空值判斷即可

var sttime, edtime;
var startTime = document.getElementById("start_time").value;
var endTime = document.getElementById("end_time").value;
if (!startTime || !endTime) {
     return;
} else {
     sttime = NewDate(startTime);
     edtime = NewDate(endTime);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM