Показать сообщение отдельно
  #1 (permalink)  
Старый 12.10.2018, 15:22
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Ошибка Uncaught TypeError, почему появилась?
Добрый день. Есть функция для печати:
function printSticker(elem){    
    var mywindow = window.open('', 'PRINT', 'height=400,width=600,left=300,top=300');
    mywindow.document.write(document.getElementById(elem).innerHTML);
    mywindow.document.close();
    mywindow.focus();
    mywindow.print();
    mywindow.close();
    return true;
}

Я передавал в нее id блока который нужно было печатать, все работало.

Теперь же мне нужно было отправлять GET запрос на сервер, получать ответ, и вставлять ответ в блок печати. Делаю так:
function getPrintPlan(){
    $.getJSON('index.php', function(data) {
        printPlan(data[1]);
    });
}

function printPlan(data){
   //делаю свои дела, могу тут ничего не делать, ошибка остается
   printSticker('elem');
    
}

function printSticker(elem){    
    var mywindow = window.open('', 'PRINT', 'height=400,width=600,left=300,top=300');
    mywindow.document.write(document.getElementById(elem).innerHTML);
    mywindow.document.close();
    mywindow.focus();
    mywindow.print();
    mywindow.close();
    return true;
}


Выходит ошибка :
Код:
Uncaught TypeError: Cannot read property 'document' of null
И жалуется на эту строку :
Код:
mywindow.document.write(document.getElementById(elem).innerHTML);
В чем проблема?
Ответить с цитированием