Html生成数据并从另一页打印

时间:2010-04-05 16:10:32

标签: javascript jquery html css jquery-selectors

在下面的代码中,

在a.html中,此代码为

         <div id="tableview"></div>//Data loaded dynamically

         <input type="button" id="printbtn" onclick="print()"/>             
         <script>
         function print()
         {
            var data=$('#tableview').html();
            dataobj.print();
          }

在b.html中

我需要打印a.html而不打开它,但是如果不打开它,div中的数据将如何生成以及如何仅从b.html打印此数据

谢谢..

3 个答案:

答案 0 :(得分:3)

更新:此答案假定根据您的问题不应发生回发。 (没有Ajax)

如果每页只有一个打印视图,则可以在页面上应用media = print过滤器。最初加载两个视图,只显示屏幕视图。

<Style href="print.css" media="print" />

您可以将所有屏幕显示设置为隐藏并显示可打印视图:

 * {
    visibility: hidden;
  }

  #tableview * {
    visibility: visible;
  }

答案 1 :(得分:0)

  1. 对b.htm进行Ajax调用

  2. 获取所需div的内容。

  3. 将数据返回到a.htm

  4. 中的隐藏div
  5. 制作一张打印样式表,其中所有内容都隐藏在该视图中,只显示以前隐藏的div。

  6. 调用您的打印功能

答案 2 :(得分:0)

我认为您可以向b.html发出ajax请求以获取内容然后将其打印出来。

function contentprint()
{
$.ajax({
           url : "b.html",
           success : function (data) {
           var data1=data;
           data1.print();
}
});
}

HTH