1. ホーム
  2. javascript

[解決済み] Javascript: ncaught TypeError: nullのプロパティ'split'を読み取れませんでした。

2022-02-10 14:39:48

質問

ここで何が起こっているのか理解できませんが、何か提案はありますか?この行で起こっています:-)

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");
    }           
}

解決方法は?

Jasperが提案するように、見つからない場合は空の文字列を代入することができます。

var gregorianDate = "";

ではなく

var gregorianDate = null;

EDITです。

また、値だけで確認することも可能です。

if( gregorianDate )

そして要素としては value プロパティは常に文字列を返すので、値が存在する場合のみこれを取得します。