为什么只打印一次?请给我解决方案

时间:2012-07-31 10:47:53

标签: javascript html

<html>
<head>
<script type="text/javascript">
    function printpage()
        {document. getElementById ('print').style.display='none';
        window.print()
    }
</script>
</head>
<body>
  <td align="center">
    <input  name="print" type="submit" id="print" value="PRINT" onclick="printpage()" />
  </td>
</body>
</html>

单击时,将打开一个打印窗口。 一旦我关闭打印窗口并再次打开它然后点击打印,而不重新加载,那么它将无法工作。

3 个答案:

答案 0 :(得分:7)

document.getElementById('print').style.display='none';功能中删除printpage()

在上述情况下,按钮将在另一个点击事件中可见,但是当您打印文档时,该按钮将显示在打印文档上。我是对的吗?

要阻止打印print按钮,您需要使用css media queries @media print

在您的extrernal样式表或HTML页面的<style>标记内的<head>标记中添加以下内容:

 @media print {    
     .noprint { display: none; }
 }​

并在

上添加.noprint课程
<input  name="print" class="noprint" type="submit" id="print" value="PRINT" onclick="printpage()" />

SEE DEMO

它将打印文档而不打印按钮,第二次点击时您的按钮也会显示: - )

<强>编辑:

以下使用HTML:

<!DOCTYPE html>
<html>
    <head>

      <meta charset=utf-8 />  
      <title>JS Bin</title>  

      <!-- Your Stylesheet (CSS) -->  
      <style type="text/css">
         @media print {    
           .noprint { display: none; }
         }​
      </style>

      <!-- Your Javascript Function -->  
      <script>
          function printpage() {       
              window.print();
          }
      </script>

    </head>
<body>

<!-- Your Body -->
<p>Only This text will print</p>

<!-- Your Button -->
<input class="noprint" type="button" value="PRINT" onclick="printpage()" />

</body>
</html>

SEE ABOVE CODE IN ACTION

答案 1 :(得分:1)

更改类型=提交到type = button

提交时您正在卸载页面

并使用A.K.

发布的CSS隐藏按钮

答案 2 :(得分:0)

只需删除

document.getElementById('print').style.display='none';
来自printpage()函数的

。它会工作正常

如果您不想打印页面上的打印按钮,

document.getElementById('print').style.visibility='hidden'
window.print();
document.getElementById('print').style.visibility='visible'