redgarding这个链接Printing fieldsets in firefox替换字段集,股利和反之亦然仅在Firefox打印
我有相当类似的问题。我有表格,打印效果不错,但不是在Firefox上。
而且我的代码看起来像
<div>
<div>
<fieldset ng-disabled="!isDocumentEditable">
A LOT OF Inputs (like 200) - most of them are table of checkboxes
And a lot of other controls
</fieldset>
</div>
</div>
现在,如果文件是可编辑的,我想让用户编辑。如果不是 - 我不想 - 这很简单。
但是......我的表格很长,并没有进入第二页。 所以我做了这样的事情:
<body onbeforeprint="beforePrintForFirefox()">
The whole document
</body>
<script>
function beforePrintForFirefox() {
var fieldset = document.getElementsByTagName('fieldset')[0];
var div = document.createElement('div');
div.className = "fieldset";
div.innerHTML = fieldset.innerHTML;
fieldset.parentNode.appendChild(div);
fieldset.parentNode.removeChild(fieldset);
}
</script >
但是......它打破了我的整个形式 - 当我改变字段集DIV我的意思是 - 控件停止禁用 - becouse我无法设置NG-禁用分隔。
我试图做出相同的功能:afterPrintForFirefox - 将div转换为fieldset - 但我不认为这是个好主意。
下面是一个问题:如何将fieldset更改为div仅用于打印目的 - 不是真正的HTML文档?
编辑:div.className =“fieldset”;我的想法是将'fieldset'div与其他div隔离开来吗?我不知道它是否是好的解决方案