Php 如何通过window.print()打印页面的某些特定部分
我正在用php mysql开发一个表单。因此,在我的页面中有一个表单,下面我以表格格式显示了该表单的数据。现在我只想打印表格结构,这就是为什么我刚才制作了一个打印按钮:Php 如何通过window.print()打印页面的某些特定部分,php,javascript,html,css,Php,Javascript,Html,Css,我正在用php mysql开发一个表单。因此,在我的页面中有一个表单,下面我以表格格式显示了该表单的数据。现在我只想打印表格结构,这就是为什么我刚才制作了一个打印按钮: <span style="float:right;"><a href="javascript:window.print()" type="button" class="btn">PRINT</a></span> 但是它会打印整个页面,包括表单字段和表格,我只想打印表格。 以下
<span style="float:right;"><a href="javascript:window.print()" type="button" class="btn">PRINT</a></span>
但是它会打印整个页面,包括表单字段和表格,我只想打印表格。
以下是我整个页面的设计,包括表单和表格:
<html>
<head></head>
<body>
<div class="container">
<form class="form-horizontal" action="" method="post" name="userform1" id="company-form" enctype="multipart/form-data">
<?php if($_GET[id]){?>
<fieldset>
<legend>Add Company</legend>
<div class="control-group">
<label class="control-label">Company Name</label>
<div class="controls">
<input type="text" name="company" id="company" value="<?php echo $selup['company']?>">
</div>
</div>
<div class="control-group">another field</div>
<div class="control-group">another field</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn" name="submit" id="submit" value="Submit">Submit</button>
</div>
</div>
<table class="table table-bordered">
<tbody>
<tr>
<td>S.No.</td>
<td>Company Name</td>
<td>Type</td>
<td>Action</td>
</tr>
<?php
// to print the records
$select = "select * from company where type='Miscellaneous'";
$query1 = mysql_query($select);
while($value = mysql_fetch_array($query1)){ ?>
<tr>
<td><?php echo $value[id];?></td>
<td><?php echo $value[company ];?></td>
<td><?php echo $value[type];?></td>
<!--<td> </td>-->
<?php /*?><td><?php echo $value[amount];?></td>
<td><?php echo $value[date];?></td><?php */?>
<td><a href="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $value[id];?>&cmd=edit"><i class="icon-edit"></i></a>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $value[id];?>&cmd=delete" onclick="return confirm('Are you sure you want to delete <?php echo $value[customer];?>?')"><i class="icon-trash"></i></a></td>
</tr><?php }?>
</tbody>
</table>
</fieldset>
<form>
</div>
</body>
添加公司
公司名称
一个可行的解决方案,也许不是最好的选择:
1. Open a new window with JS
2. Copy the whole table into the new window (with jQuery for example)
3. Print the new window
4. Close the window
当然,它有闪烁效果,但会起作用。使用css隐藏不想打印的元素:
@media print {
.control-group {
display: none;
}
}
您可以制作打印css(与@media print的功能相同,但我认为它更干净,如果需要,您可以通过javascript禁用css include):
我的页面
第1部分内容。。。
印刷内容
第2部分内容。。。
印刷内容
第1段内容
印刷内容
可能重复:仅提及您的表单标签未关闭。请尝试以下回答:我已经完成了,但出于某些原因它对我不起作用。:(正如我提到的,我在同一页上列出了所有内容。感谢您宝贵的帮助,但出于某些原因它对我不起作用。
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
.wrapper, .header {display: none;}
function printContent(el){
var restorepage = document.body.innerHTML;
var printcontent = document.getElementById(el).innerHTML;
document.body.innerHTML = printcontent;
window.print();
document.body.innerHTML = restorepage;
}