【发布时间】:2013-09-16 11:41:17
【问题描述】:
我正在尝试让此功能在我正在处理的项目的网站上运行。此函数的目的是仅(物理上)打印子 div 的内容,该子 div 恰好称为选择器#content。
这是我到现在为止的一点点:
<script>
function printContent() {
window.open().document.write($("#content").html());
window.print();
window.close();
}
</script>
当用户点击“打印”超链接时,该函数会被触发。新窗口将加载从另一个 HTML 文档解析的 #content div 的内容:
<div id="content">
<br/>
<div id="Algemeen">
<h3>Algemene informatie</h3>
<fieldset id="profile">
<img id="male" src="./images/Pixers/male_icon.jpg"></img>
<img id="female" src="./images/Pixers/female_icon1.jpg"></img>
</fieldset>
</div>
<div id ="leftbox">
<div id ="veldbox"><label>BSN:</label>$!person.bsn</div>
<div id ="veldbox"><label>Voornaam: </label>$!person.first_name</div>
<div id ="veldbox"><label>Achternaam:</label>$!person.name_prefix $!person.last_name</div>
<div id ="veldbox"><label>Geslacht:</label>$!person.gender</div>
<div id ="veldbox"><label>Woonadres:</label>$!person.address</div>
<div id ="veldbox"><label>Plaatsnaam:</label>$!person.location</div>
<div id ="veldbox"><label>Provincie:</label>$!person.province</div>
<div id ="veldbox"><label>Postcode:</label>$!person.zipcode</div>
<div id ="veldbox"><label>Tel. nummer thuis:</label>$!person.h_number</div>
<div id ="veldbox"><label>Mobiel nummer:</label>$!person.mobile_nr</div>
<div id ="veldbox"><label>Burgerlijke Stand:</label>$!person.m_status</div>
<div id ="veldbox"><label>land van herkomst:</label>$!person.origin</div>
</div>
<div id="rightbox">
<div id ="veldbox"><label>Naam instantie:</label></div>
<div id ="veldbox"><label>Adres instantie:</label></div>
<div id ="veldbox"><label>Postcode instantie:</label></div>
<div id ="veldbox"><label>Tel. instantie:</label></div>
<div id ="veldbox"><label>Fax instantie:</label></div>
<div id ="veldbox"><label>E-mail instantie:</label></div>
<div id ="veldbox"><label>Website instantie:</label></div>
<div id ="veldbox"><label>-:</label></div>
<div id ="veldbox"><label>-:</label></div>
<div id ="veldbox"><label>-:</label></div>
</div>
</div>
它只是不会同时加载样式。所有内容都将在左上角弹出。我尝试通过 JS 链接 CSS,或者按照另一页的建议将其放在页面的头部。我当然可能做错了。我还没有真正尝试过用 JQuery 解决这个问题,所以如果你有任何其他解决方案可以帮助我解决我的问题,我很高兴并且愿意接受一些关于它们的建议。
提前致谢!
【问题讨论】:
-
在继续之前,请将提供的 id 更改为 veldbox。在一个页面中多次使用 ID 不是一个好习惯。代替它,使用类。
-
一周前我也有这句话。感谢您指出了这一点!我马上改。
-
这是一个基本的先决条件。你可以试试 Reeno 提供的东西。它将按预期工作。 :)
-
不完全。在将 hit 格式化为 CSS 样式后,它仍然无法正确打印。你的代码应该可以工作,它让我朝着正确的方向前进。不过,我想确切地知道为什么以这种方式打印页面。我目前正在寻找通过 Servoy 将内容转换为 PDF 文件。这次我应该可以自己做。
标签: javascript jquery html css printing