当mPDF从表单生成PDF时,我正在寻找隐藏某些HTML元素的方法,因此它们不会在PDF上呈现,在本例中为div。
JavaScript无法与mPDF一起使用
visibility="hidden"
提交无效,display="none"
。
样式属性中的硬编码visibility="hidden"
确实有效,但显然会使元素无法使用。
编辑: 更多代码:
Div I试图隐藏。
<div class="initial-container">
<form id="initial" action="checkpage.php" method="post">
<input type="hidden" id="page-num" name="page-num" value="1">
<input type="text" class="initial" name="initials[]" placeholder="Initials" value="<?php if($initialsEntered == 'true'){ echo $initials; } ?>">
<input type="submit" class="submit" name="submit" value="Next Page" id="submit">
<p class="page-num">Page 1/6</p>
</form>
</div>
在单独的页面上生成PDF代码:
if(isset($_GET["pdf"])){
$pdf = new mPDF('utf-8', '', '', '', 0, 0, 0, 0, 0, 0);
$pdf->SetDisplayMode('fullpage');
$pdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list
$pages = ["page-one.php", "page-two.php", "page-three.php", "page-four.php", "page-five.php"];
$pageCount = 0;
while($pageCount < count($pages)){
ob_start();
include $pages[$pageCount];
$template = ob_get_contents();
ob_end_clean();
$pdf->WriteHTML($template);
$pdf->AddPage();
$pageCount++;
}
$pdf->Output("probate-agreement.pdf", "I");
}
起初我尝试过:
get("submit").onclick = function(){
get("initial-container").style.visibility = "hidden";
}
但这不起作用。
答案 0 :(得分:0)
我明白了。
我只使用了一个带media="print"
的单独CSS页面来隐藏特定元素。
我之前尝试过但它没有用,但现在我发现mPDF还不支持非块级元素的显示属性。
使用块级元素包装要控制的任何元素,并在样式表中隐藏块元素:
<p class="hide-this">
<input type="submit" class="what-i-want-to-hide">
</p>