jQuery提交表单后打印

时间:2018-10-31 05:20:10

标签: javascript jquery css html5

我想使用jquery进行打印,这里我有一个按钮可以执行此分类,但是我希望在提交表单后将其打印出来。

这是我的代码,它在按钮单击事件上打印内容,在打印ti之后将提交表单。.我该怎么办..

<button  id="btnjson" type="submit" value="ok" class="button" onclick="printDiv('print-table')">Ok</button>



<script>
function printDiv(divName) {
 //alert('s');
 var printContents = '<div id="print-content"><form><table width="100%"  height="100" ><tbody >';
  var inputs, index;
inputs = document.querySelectorAll('input,select');
printContents+='<div style="width:765px; float:left; height:72px;">'
printContents +='</tbody></table>';
 w=window.open();
 w.document.write(printContents);
 w.print();
 w.close();
}
</script>

3 个答案:

答案 0 :(得分:1)

您可以通过两种方式进行操作。

1-可以使用canvas

生成屏幕截图

2-您可以使用jquery隐藏元素并在提交表单之前完成打印

答案 1 :(得分:1)

在后端成功响应后,我如何打印发票:

var mywindow = window.open('_blank', '', '');
mywindow.document.write('<html><head></head><body onload="setTimeout(myFunction(){window.print();}, 3000)">');  
var printContents = '<style>@media print {  .print_hide{display: none;} } </style>';
printContents += '<div id="print-content"><form><table width="100%" height="100"><tbody>';
var inputs, index; inputs = document.querySelectorAll('input,select'); 
printContents+='<div style="width:765px; float:left; height:72px;">';
printContents +='</tbody></table>';
mywindow.document.write(printContents);
mywindow.document.write('</body></html>');                        
mywindow.document.close();

它将打开一个新窗口...

答案 2 :(得分:0)

在提交作业后什么都不能打印,您可能必须将数据发送到后端并进行存储然后再取回。使用会话范围变量等。