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隔離開來嗎?我不知道它是否是好的解決方案