求助牛人
当触发了这个方法以后 
想在该方法内打印出div的内容(背景图片加value)就是网页里看到的这个层的内容
不打印出该页内其他的内容
打印指定层<script type="text/javascript"> 
var maxLength = 8; 
function addZero(e)

var demoData = document.getElementById("myfield").value; 
demoData = demoData.toString();
var originalLen = demoData.length ;

if(originalLen < maxLength)

for(var i = 0; i < maxLength-originalLen; i++)
{
demoData = "0" + demoData; 
}
document.getElementById("dataDiv").innerHTML = "<div id='gg' style='position:absolute;top:135px;left:640px;width:310px; height:220px; text-align:center;z-index:10;filter:Alpha(opacity=100);border:4px #6db247 solid; background-color:#FFFFFF;'><table WIDTH=310 HEIGHT=190 cellspacing='0' cellpadding='0'><tr bgColor='#6db247'><td width=100%><table width=100% height=24><tr><td align=left width=85%><b>打印</b><font color='#E8893C'></font></td><td align=right onClick=closeDiv()><span style='cursor:pointer;'>关闭</a></td></tr></table></td></tr><tr><td height='190' colspan=10 align=center><table width=300 border=0 cellspacing=0 cellpadding=0><tr><td height=190 valign='top' background='http://www.hi-sir.com/c83de31de2cf44a8a54ef8901846356d.GIF'><table width=300 border=0 cellspacing=0 cellpadding=0><tr><td height=136>&nbsp;</td></tr><tr><td height=18><span style='margin-left:105px; font-size:14px; font-weight:bold;'>"+demoData+"</span></td></tr><tr><td height=10></td></tr><tr><td height=18><span style='margin-left:65px; font-size:14px; font-weight:bold;'>"+demoData+"</span></td></tr></table></td></tr></table></td></tr></table></div>";
document.getElementById("dataDiv").style.display="block";
}
}
</script>
<li style="margin-left:20px; text-align:left; cursor:pointer;" onClick="addZero();">打印</li><input id="myfield" type="hidden" value="11111">

解决方案 »

  1.   

    通常是将打印的东西放在一个DIV
    通用的控制显示等当在另一个DIV
    打印的时候把控制的DIV隐藏.
    打印后把DIV显示.我那时候用的是SCRIPTX
      

  2.   

    可以的,你将要打印部分抓取出来,然后写入新的窗口或者隐藏的iframe中,再打印这个窗口即可,背景图片可能需要在浏览器中设置才能打印,没办法在脚本中设置!参见:
    var printDoc = function(obj){
    var wa = window.open("about:blank","print","width=740,resizable=no,menubar=yes,scrollbars=yes,left=0,top=0");
    var abody = wa.document.open();
    var printStr = '<title>Print</title>';
    printStr += '<style>html,body{background:#fff;margin:0;padding:0;}#x{width:700px;padding:0 10px;text-align:left;background:#fff;}</style>';
    printStr += '<div id="x">';
    printStr += obj.innerHTML;
    printStr += '</div>';
    abody.write(printStr);
    abody.close();
    wa.print();
    printStr = null;
    abody = wa = null;
    this.hideMenu();
    };
      

  3.   

    一个例子仅供参考。脚本说明:  
    把如下代码加入<body>区域中
     <script language="JavaScript">
    <!--
    //该函数在调用过程中只需要在将要点击的单元格内的onclick事件中调用showme函数即可
    //function showme(obj1, obj2)该函数主要为使点击的对象高亮度显示,并调用moveme函数,参数obj1为母体即<div>标签的id,obj2为点击对象本身
    //function moveme(obj)该函数判断单元的移动,并调用相应的函数处理,obj参数为母体
    //function moveup(obj,objtop)该函数使一个单元向上移动,参数obj为母体,objtop为母体的本身最高高度
    //function movedown(obj,objbuttom)该函数使一个单元向下移动,参数obj为母体,objbuttom为母体的本身最低高度var headHeight = 22;//每个标题的高度
    var bodyHeight = 160;//母体高度
    var objcount = 6;//项目的个数,要改变了项目的个数别忘了该这个东西
    var step = 6;//移动速度(请确认可以被'bodyHeight-headHeight'整除,当前的设定可选速度为1,2,3,6,23,138)
    var moving = false;//是否有移动的项目function showme(obj1, obj2)
    {
    //以下循环为改变标题的背景颜色
    if (moving)
    return;
    moving = true;
    for(i=0;i<document.all.tags("td").length;i++)
    if (document.all.tags("td")[i].className.indexOf('headtd') == 0)
    document.all.tags("td")[i].className = 'headtd1';
    obj2.className = 'headtd2';
    moveme(obj1);
    }function moveme(obj)
    {
    idnumber = parseInt(obj.id.substr(4));
    objtop = headHeight * (idnumber - 1);
    objbuttom = bodyHeight + headHeight * (idnumber - 2);
    currenttop = parseInt(obj.style.top);
    if (currenttop >= objbuttom)
    {
    //检验出每一个应该向上移动的层
    countid = 1;
    for(i=0;i<document.all.tags("div").length;i++)
    if (document.all.tags("div")[i].id == 'item'+countid+'body')
    {
    obj = document.all.tags("div")[i];
    objtop = headHeight * (countid - 1);
    if (countid == idnumber)
    {
    moveup(obj,objtop,false);
    break;
    }
    else
    moveup(obj,objtop,true);
    countid++;
    }
    }
    else if ((currenttop <= objtop) && (idnumber < objcount))
    {
    //检验出每一个应该向下移动的层
    idnumber++;
    countid = objcount;
    for(i=document.all.tags("div").length-1;i>=0;i--)
    if (document.all.tags("div")[i].id == 'item'+countid+'body')
    {
    obj = document.all.tags("div")[i];
    objbuttom = bodyHeight + headHeight * (countid - 2);
    if (countid == idnumber)
    {
    movedown(obj,objbuttom,false);
    break;
    }
    else
    movedown(obj,objbuttom,true);
    countid--;
    }
    }
    }function moveup(obj,objtop,ismove)
    {
    currenttop = parseInt(obj.style.top);
    if (currenttop > objtop)
    {
    obj.style.top = currenttop - step;
    setTimeout('moveup('+obj.id+','+objtop+','+ismove+')',1)
    return;
    }<center>
    <script language="javascript">
    function preview()
    {
    bdhtml=window.document.body.innerHTML;
    sprnstr="<!--startprint-->";
    eprnstr="<!--endprint-->";
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
    window.document.body.innerHTML=prnhtml;
    window.print();
    //prnform.htext.value=prnhtml;
    //prnform.submit();
    //alert(prnhtml);
    }
    </script>
    这些内容是不会被打印的<br>
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <center>本部分以上不被打印</center>
    <!--startprint-->
    <table width="70%" align="center" bgcolor="#0000FF" cellpadding="2" cellspacing="1">
      <tr bgcolor="#6699FF">
        <td>
          <div align="center">标题一</div>
        </td>
        <td>
          <div align="center">标题二</div>
        </td>
        <td>
          <div align="center">标题三</div>
        </td>
        <td>
          <div align="center">标题四</div>
        </td>
        </tr>
      <tr bgcolor="#6699FF">
        <td> </td>
        <td> </td>
        <td> </td>
        <td> </td>
      </tr>
    </table>
    <!--endprint-->
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>
    这些内容是不会被打印的
    <div align="center">
      <input type="button" name="print" value="预览并打印" onclick="preview()">
    </div>
    </center>
      

  4.   

    5楼正解。7楼的不兼容其他浏览器。要打印页面
    <head>
    <style type="text/css" media="print">
    .noprint{display : none }
    </style>
    <script language="javascript" type="text/javascript" src="jquery.js"></script>
    <script language="javascript" type="text/javascript" src="print.js"></script>
    </head>
    <body
        <form id="form1">
             <!--------- header --------->
            <!--------- end header --------->
            <div class="clear_float">
            </div>
            <table width="100%" class="main_wrap">
                <tr>
                    <td width="250" valign="top" align="left">
                        <!--------- sidebar --------->
                        <div> 
                    <a id="printOK" href="javascript:void 0;" runat="server">print</a><br />
                    <a id="back" href="" runat="server">back</a></span>
                    </div>
                    </td>
                    <!--------- end sidebar --------->
                    <!--------- container --------->
                    <td valign="top" align="left">
                        <div>
                            <div id="result_show" class="result_show">
                                <!------ print list results ------>
                            </div>
                        </div>
                        <!--------- end container --------->
                    </td>
                </tr>
            </table>
            <iframe id="frmPrint" name="frmPrint" frameborder="0" scrolling="no" width="0" height="0" src="print_page.htm"></iframe>
        </form>
    </body>
    js脚本
     if(document.getElementById("printOK")){
            $("#printOK").ready(function(){  
        
                $("#printOK").click(function(){
                    var resultObj = document.getElementById("result_show");
                    if(resultObj){
                        if (window.print) {
    document.getElementById("frmPrint").contentWindow.document.body.innerHTML = resultObj.innerHTML;
    document.getElementById("frmPrint").contentWindow.focus();
    document.getElementById("frmPrint").contentWindow.print();
    }
                    }
                });
            });
        }
    ifram页面 print_page.htm<head>
    <title>content</title>
    <style type="text/css" media="print">
    .noprint{display : none }
    </style>
    <script>
    var _obj = this;
    </script>
    </head>
    <body>
    <div id="_printContainer"></div>
    <a class="noprint" onclick="_obj.print();" id="_print">print</a>
    </body>
    可兼容ie6、7,firfox,safari等浏览器。