2008-11-07 99 views
6

我想僅打印從網站頁面的textarea元素的內容。特別是,我想確保沒有任何東西被文字區邊界限制,因爲內容會很大。僅打印文本區

解決這個問題的最佳策略是什麼?

回答

6

製作一個打印樣式表,其中所有元素除了 textarea都設置在CSS中以顯示:none;並且對於textarea,overflow:visible。

將其鏈接到鏈接標記設置爲media =「print」的頁面。

你完成了。

+1

這實際上並不奏效,你試過了嗎?在Chrome 8中,textarea上的「overflow:visible」實際上並不打印其內容。 「height:auto」也不是。或我慣常的伎倆。 – 2011-01-06 02:05:20

2

如果用戶點擊「打印」,你可以打開一個新的窗口,只是一個空白頁上textarea的內容並從那裏開始打印,然後關閉該窗口。

更新:我認爲提出的CSS解決方案可能是更好的策略,但如果有人喜歡這個建議,他們仍然可以使它勝利。

1

我會去其他建議的組合。

不要使用樣式表覆蓋來終止整個頁面的打印按鈕,而是通過textarea提供一個按鈕,讓用戶只打印這些內容。

該按鈕會打開一個新窗口,菜單/鉻等,只克隆textarea的內容(或提供打印css文件)

1

我做了一個打印介質CSS來隱藏一些字段。這個問題很複雜,因爲我使用nicEdit動態創建一個IFRAME。所以我不得不添加一個事件來處理onblur事件,並將它們複製到一個隱藏的(除了打印)div上。 「divtext」是hiddent Div,而「storyText」是TextArea。

textarea { 
    display: none; 
} 

*/ #divtext { 
    display: block; 
} 

div, DIV { 
    border-style: none !important; 
    float: none !important; 
    overflow: visible !important; 
    display: inline !important; 
} 

/* disable nearly all styles -- especially the nicedit ones! */ 

#nav-wrapper, #navigation, img, p.message, .about, label, input, button, #nav-right, #nav-left, .template, #header, .nicEdit-pane, .nicEdit-selected, .nicEdit-panelContain, .nicEdit-panel, .nicEdit-frame { 
    display: none !important; 
} 

/*hide Nicedit buttons */ 

.nicEdit-button-active, .nicEdit-button-hover, .nicEdit-buttonContain, .nicEdit-button, .nicEdit-buttonEnabled, .nicEdit-selectContain, .nicEdit-selectControl, .nicEdit-selectTxt { 
    display: none !important; 
} 

爲nicEdit JavaScript代碼:

<script type="text/javascript" src="/media/nicEdit.js"></script> 
<script type="text/javascript"> 
    bkLib.onDomLoaded(function() { 
    var nic = new nicEditor({ 
     fullPanel: true 
    }).panelInstance('storyText'); 

    document.getElementById("storyText").nic = nic; 
    nic.addEvent('blur', function() { 
     document.getElementById("storyText").value = 
     nic.instanceById('storyText').getContent(); 
     document.getElementById("divtext").innerHTML = nic.instanceById('storyText').getContent(); 
    }); 
    }); 
</script> 
0

做了溢出:可見;在textarea實際上爲你們任何人工作? FF3似乎忽略了印刷單上的textarea規則。並不是說它是一個bug或任何東西。