Javascript-使用商业订单表数据填充PDF上的HTML表
我正在开发一种使用javascript将商业订单数据导出到PDF文档表的方法。 为此,我将每个订单表格单元格的innerText值存储在不同的Javascript-使用商业订单表数据填充PDF上的HTML表,javascript,wordpress,pdf,woocommerce,woocommerce-theming,Javascript,Wordpress,Pdf,Woocommerce,Woocommerce Theming,我正在开发一种使用javascript将商业订单数据导出到PDF文档表的方法。 为此,我将每个订单表格单元格的innerText值存储在不同的let变量和更高版本中 使用这些变量填充HTML表格,该表格将显示在我的最终PDF文档中 我感觉自己接近黄金,但我得到了控制台错误uncaughttypeerror:无法在浏览器上读取未定义的的属性'innerText' 这是到目前为止我的代码,你知道我为什么会出现这个错误吗?还有什么方法可以修复它吗 函数printData(){ 让orderTableD
let
变量和更高版本中
使用这些变量填充HTML表格,该表格将显示在我的最终PDF文档中
我感觉自己接近黄金,但我得到了控制台错误uncaughttypeerror:无法在浏览器上读取未定义的的属性'innerText'
这是到目前为止我的代码,你知道我为什么会出现这个错误吗?还有什么方法可以修复它吗
函数printData(){
让orderTableData=document.GetElementsByCassName(“woocommerce\u order\u items”)[0].innerHTML;
让orderTableSize=document.getElementById(“订单行项目”);
让tamanho=orderTableSize.rows.length;
让orderPricesData=document.GetElementsByCassName(“wc订单总计”)[0].innerHTML;
让orderItemName=document.getElementById(“订单行项目”).GetElementsByCassName(“名称”)[0]。innerText;
让orderItemPrice=document.getElementById(“订单行项目”).GetElementsByCassName(“项目成本”)[0]。innerText;
让orderItemQtd=document.getElementById(“订单行项目”).GetElementsByCassName(“数量”)[0]。innerText;
让orderItemTotal=document.getElementById(“订单行项目”).GetElementsByCassName(“行成本”)[0]。innerText;
对于循环中的(var j=0;j,不需要使用条件
function printData(){
let orderTableData = document.getElementsByClassName("woocommerce_order_items")[0].innerHTML;
let orderTableSize = document.getElementById("order_line_items");
let tamanho = orderTableSize.rows.length;
let orderPricesData = document.getElementsByClassName("wc-order-totals")[0].innerHTML;
let orderItemName = document.getElementById("order_line_items").getElementsByClassName("name")[0].innerText;
let orderItemPrice = document.getElementById("order_line_items").getElementsByClassName("item_cost")[0].innerText;
let orderItemQtd = document.getElementById("order_line_items").getElementsByClassName("quantity")[0].innerText;
let orderItemTotal = document.getElementById("order_line_items").getElementsByClassName("line_cost")[0].innerText;
let iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.style.display = 'none';
for(var j = 0; j < tamanho; j++){
iframe.contentDocument.body.innerHTML = "<table border='1' width='100%'><tr><th>Item</th><th>Preço uni.</th><th>Qtd.</th><th>Total</th></tr><tr><td>" + document.getElementById("order_line_items").getElementsByClassName("name")[j].innerText + "</td><td>" + document.getElementById("order_line_items").getElementsByClassName("item_cost")[j].innerText + "</td><td>" + document.getElementById("order_line_items").getElementsByClassName("quantity")[j].innerText + "</td><td>" + document.getElementById("order_line_items").getElementsByClassName("line_cost")[j].innerText + "</td></tr></table>";
}
iframe.contentWindow.focus();
iframe.contentWindow.print();
document.body.removeChild(iframe);
}