Главная > Javascript > javascript: печать определеннного блока страницы

javascript: печать определеннного блока страницы

Функции:

function printBlock() {
	PrintContent = $('#PrintContent').html();
	$('body').addClass('printSelected');
	$('body').append('<div class="printSelection">'+PrintContent+'</div>');
	window.print();
	window.setTimeout(pageCleaner,0);
	return false;
}
function pageCleaner(){
	$('body').removeClass('printSelected');
	$('.printSelection').remove();
}

Если бы ссылка на печать была внутри блока то:

function printBlock(printLink) {
PrintContent = $(printLink).parents('#PrintContent').html();
...

Ссылка:

<a href="" onclick="printBlock();">Распечатать</a>

Стили:

.printSelected div{display:none}
.printSelected div.printSelection{display:block;}
.printSelected div.printSelection div{display:block;}

По статье:http://htmltricks.ru/archives/77

Categories: Javascript Tags:
  1. Гость
    Декабрь 12th,2013 в 09:59 | #1

    нихуя оно не работает

  2. Январь 22nd,2013 в 23:27 | #2

    Также для печати блока с формой, чтобы поля оставались заполненными функция выглядит так:

    function printBlock() {
    	$("input").each(function(){
    		$(this).attr("value", $(this).val());
    	});
    	$("select").each(function(){
    		var val=$(this).val();
    		$("option[value='"+val+"']", this).attr('selected', 'selected');
    	});
    	var PrintContent=$('#PrintContent').html();
    	$('body').addClass('printSelected');
    	$('body').append('<div class="printSelection"><div class="printLogo"><img src="/templates/images/logo.gif" alt=""/></div>'+PrintContent+'</div>');
    	window.print();
    	window.setTimeout(pageCleaner,0);
    	return false;
    }
  3. Rezz
    Февраль 11th,2012 в 11:46 | #3

    Что то в хроме не прокатывает. на печать отдается вся страница и блок не отображает.

  4. Илья
    Май 5th,2011 в 10:44 | #4

    А у меня в IE8 не работает… скидывает на главную страницу

  5. Konstantin Krylov
    Февраль 7th,2011 в 11:41 | #5

    Какая ошибка?
    Попробуйте вместо ссылки:

    <span class='printlink' onclick='printBlock();'>Распечатать</span>
  6. Дима
    Февраль 1st,2011 в 21:07 | #6

    Почему то в Опере не открывется окно печати. Подскажите в чем может быть проблема?

Похожие публикации