如何从刚刚输入的输入字段中在每页上打印发票编号

How print an InvoiceNo on each page from an input field that has just been entered

本文关键字:输入 打印 编号 字段      更新时间:2023-09-26

我有一张发票(以HTML格式生成),用户在其中输入表单字段"InvoiceNo" - 然后打印(即在纸上)发票。

这工作正常,但发票现在要进入第二页。

我已经用CSS和HTML完成了分页:

.pagebreak { page-break-after: always; } 

&

<div class="pagebreak" /> </div>

但是我不知道如何将发票编号放在第二页上。我试过:

<form>Invoice No: <input type="input" name="Invoice_No" id="Invoice_No" onblur="getInvoiceNo()" />  <!-- nb onblur is opposite of onfocus -->
<script>
function getInvoiceNo() { 
    var Invoice_No = document.getElementById('Invoice_No').value;
}
<script>

然后在第 2 页上

<script>
document.write( Invoice_No + "XXX" );   /* xxx are for testing if its outputting*/
<script>

但它不起作用;-( 应该怎么做?

PS 我无法访问 PHP,因为发票是 Shopify(电子商店)环境的一部分

根据我所看到的,我认为你的JavaScript遇到了范围问题。 如果您在函数中声明 var,则无法在其他地方访问该 var,除非将其全局化(请不要这样做,因为这是不好的做法),使其成为对象属性或将其作为参数传递。 我不知道您的发票中有多少页,但如果它总是 2 页,您可能希望在第二页上创建一个输入文本框,并让您的函数修改该输入文本框的值,而不是将值存储到 var 中。 我还建议使用像jQuery这样的JavaScript库来避免跨浏览器问题。