Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用内联脚本html数据附加html数据并打印_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用内联脚本html数据附加html数据并打印

Javascript 使用内联脚本html数据附加html数据并打印,javascript,jquery,html,Javascript,Jquery,Html,我需要在脚本中添加带有html的表数据。并附加数据进行打印 但此处表格数据仅在打印模式下显示 html <div> <p>Your content here</p> <table id="toPrint"> <tr> <td>Neil D'zousa</td> <td>112233445566</td> </tr> <

我需要在脚本中添加带有html的表数据。并附加数据进行打印

但此处表格数据仅在打印模式下显示

html

 <div>
    <p>Your content here</p>
    <table  id="toPrint">
     <tr>
    <td>Neil D'zousa</td>
    <td>112233445566</td>
    </tr>
</table>
</div>
<div id="notForPrint">
    <a href="#" id="print">print</a>
</div>

你的内容在这里

尼尔·德佐萨 112233445566
脚本

function open() {
 var w = window.print();
 var htmlTable2 = '<tr>' + '<th>Name</th>'
              + '<th>Phone</th>'+ '</tr>';
    var html = $("#toPrint").html();
    var t=html;
    $(t).append(htmlTable2);
    $(w.document.body).html(t);
}
$(function() {
    $("a#print").click(open);
});
函数打开(){
var w=window.print();
var htmlTable2=''+'名称'
+'电话'+'';
var html=$(“#toPrint”).html();
var t=html;
$(t).append(htmlTable2);
$(w.document.body).html(t);
}
$(函数(){
$(“打印”)。单击(打开);
});
如果有人知道这一点,请分享你的答案

关于…

var htmlTable2=''+'Name'
+'电话'+'';
var html1=$(“#toPrint”).append(htmlTable2);
var t=html1;
$(t).append(htmlTable2);
window.print();
试试这个。我用铬做了测试。它很好用

编辑: 对您的请求的响应:您必须检查dom[name,etc]是否已经[resent]

$('#domHeader').length > 0 means already present.

if(! $('#domHeader').length)
{
 var htmlTable2 = '<tr>' + '<th>Name</th>'
          + '<th>Phone</th>'+ '</tr>';
 var html1 = $("#toPrint").prepend(htmlTable2); //peter is correct
 //var t=html1;
 //$(t).append(htmlTable2);
}
$('#domHeader')。长度>0表示已存在。
如果(!$('#domHeader')。长度)
{
var htmlTable2=''+'名称'
+'电话'+'';
var html1=$(“#toPrint”).prepend(htmlTable2);//peter是正确的
//var t=html1;
//$(t).append(htmlTable2);
}


应使用以下方法。标题应位于顶部:

function open() {

     var htmlTable2 = '<tr><th>Name</th><th>Phone</th></tr>';
     var html1 = $("#toPrint").prepend( htmlTable2 );

     window.print(); 
}
函数打开(){
var htmlTable2='NamePhone';
var html1=$(“#toPrint”).prepend(htmlTable2);
window.print();
}

其余的代码应该可以正常工作。

据我所知,打印窗口无法单独修改,只能设置打印样式等。但这并不完全相同。代码中的
w
变量可能返回当前窗口,而不是特殊的打印窗口。表头每次都递增click@prasanth,这就是你在代码中添加的内容。你必须修改它。每当你单击“打印”时,它都会被追加。不是吗?这就是你在代码中所做的。等等,我会修改的。是的,我看到了。谢谢。但是有一个问题,标题显示了2倍的顶部和底部。现在@Prasanth。这是由于双ap彭丁:是的,它起作用了。它真的很有用。非常感谢……我接受答案:)
function open() {

     var htmlTable2 = '<tr><th>Name</th><th>Phone</th></tr>';
     var html1 = $("#toPrint").prepend( htmlTable2 );

     window.print(); 
}