我想使用javascript打印选定的开始行和结束行。但是我的代码可以在开始行和结束行工作,但是如果显示打印预览屏幕无法正确显示,它就可以全部打印出来了。
var work = $(“#rom-table-id”)。find(“ tr”);
for (var i = change_color_start; i <= change_color_end; i++) {
$(work[i]).addClass('print-selected-row');
console.log(work[i]);
}
if (change_color_end) {
// 印刷プレビュー用別ウィンドウOpen
window.open('', 'new_window', 'fullscreen=1,resizable=1,scrollbars=1');
// SochiKubun:TD orATC or ALL、SelectedStartKoban:選択開始行の項番、SelectedEndKoban:選択終了行の項番
var form = document.createElement('form');
var printRomVerAction = location.pathname.substring(0, location.pathname.toUpperCase().lastIndexOf("WSM24G01") + 8) + '/PrintRomVer';
form.setAttribute('action', printRomVerAction);
form.setAttribute('method', 'post');
form.setAttribute('target', 'new_window');
form.setAttribute('id', 'SochiButton');
form.style.display = 'none';
document.body.appendChild(form);
var input = document.createElement('input');
input.setAttribute('type', 'hidden');
input.setAttribute('name', 'SochiKubun');
var sochi = $('.sochi-kind').text();
input.setAttribute('value', sochi);
form.appendChild(input);
input = document.createElement('input');
input.setAttribute('type', 'hidden');
input.setAttribute('name', 'SelectedStartKoban');
var koban = $(work[i - 1]).children('td:first').text();
console.log("koban is " , koban)
input.setAttribute('value', koban);
console.log("after insert value ,start row of result is ", koban);
form.appendChild(input);
input = document.createElement('input');
input.setAttribute('type', 'hidden');
input.setAttribute('name', 'SelectedEndKoban');
var koban = $(work[selected_end_row]).children('td:first').text();
input.setAttribute('value', koban);
console.log("after insert value ,end row of result is ", koban);
form.appendChild(input);
答案 0 :(得分:0)
您将需要
1。过滤服务器上的数据
或
2。将您要打印的数据放入PDF文件,然后将PDF文件发送到 打印机。
您遇到的问题是由于^P
或[File][Print]
从服务器(或浏览器缓存)中获取页面。因此,对先前加载的页面上的数据所做的修改将丢失并且无法打印。
如果必须从客户端(浏览器)完成此操作,则PDF解决方案就是答案。