我有一个php页面,有3种不同的形式。我为每个表单创建3个单独的打印按钮。
现在我需要在提交之前打印填写好的表格。表单已成功打印,但没有数据(包含空字段)。我尝试下面的代码。请告诉我哪里错了
// my code
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="jquery.jqprint.0.3.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(function() {
$("#PrintVocab").click( function() {
$('#divToPrint').jqprint();
return false;
});
});
</script>
// print button
<input id="PrintVocab" value="Print" type="image" src="images/print.jpg">
// specific form1
<div id="divToPrint">
<input name="name" type="text" style="border:2px solid #F00;" >
</div>
当我像下面的代码一样给输入设置默认值时,它会成功地用表单打印该值。
<input name="name" type="text" style="border:2px solid #F00;" value="my name" >
我认为这里可能发生的情况是,当打印表单时(如果所说的打印是指打印到PDF或纸张),它在呈现时以HTML源代码为基础。不过我可能错了。
为什么你需要在提交之前打印表格?
表格尚未处理,如果处理失败,那么打印版本肯定会被浪费。我看到的所有可以打印/需要打印的系统都显示了表单提交后的结果。处理完整的页面是一个更好的地方,可以选择打印。
我希望我没有完全误解你的问题。
我通过将插件中的外部函数更改为这个函数,成功地使它工作起来。
jQuery.fn.outer = function(){
return $($('<div></div>').html(this.clone(true, true))).html();
}
原作本身使用克隆。但是,通过传递withDataAndEvents和deepWithDataAndEvents选项进行克隆,它可以处理更新的数据。