Javascript:uncaught TypeError:无法读取null的属性'split'

时间:2014-08-15 17:03:42

标签: javascript

我不明白这里发生了什么?有什么建议?这就发生在这一行: -

var explode = gregorianDate.split('-');

这是完整的功能。

function updateCalendarDay(){ 
    if (document.getElementById('gregorianDateOutput') != null) {
       var gregorianDate = document.getElementById('gregorianDateOutput').value;
    }else{
       var gregorianDate = null;
    }
    if(gregorianDate != ""){
       var explode = gregorianDate.split('-');
       var year = explode[0];
       var month = explode[1];
       var day = explode[2];
       document.getElementById('month').value = month;
       document.getElementById('year').value = year;
       var ajax = new GLM.AJAX();
       var url='calendarAjax.php?month='+month+'&year='+year+'&day='+day;
       ajax.callPage(url, showSubscribeResult, "GET");
    }           
}

1 个答案:

答案 0 :(得分:6)

正如@Jasper建议你可以分配空字符串,如果没有找到:

var gregorianDate = "";

而不是

var gregorianDate = null;

修改

您也可以按值检查:

if( gregorianDate )

并且由于Element value属性始终返回&String;只有存在值时才会获得此