2012-11-27 57 views
0

我有一個div對象,它填充頁面的onload事件。Div內容遺失

<div id="divcontent" runat="server"> 
<asp:Table id="tblcontent" runat="server" CellPadding="4" align="center" width="80%">  </asp:Table> 
</div>  

<div align="left" style ="width:90%; padding-top:20px;"> 
<input value="Print" type="button" onclick="PrintDiv();"/>  
</div> 

和我有婁代碼以打開一個彈出窗口DIV內容只打印在div內容:

<script type="text/javascript"> 

function PrintDiv() { 

    var divToPrint = document.getElementById('divcontent'); 

    var popupWin = window.open('', '_blank', 'width=500,height=700'); 

    popupWin.document.open(); 

    popupWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</html>'); 

    popupWin.document.close(); 
} 

</script> 

但彈出窗口打開時,其空!有人可以說爲什麼嗎?

回答

3

如果您的頁面有母版頁,那麼divcontent將不會在瀏覽器上設置runat="server",因此請使用該控件的ClientID來獲取div的渲染ID。

試試這個,

function PrintDiv() { 
    var divToPrint = document.getElementById('<%= divcontent.ClientID %>'); 

    var popupWin = window.open('', '_blank', 'width=500,height=700'); 
    popupWin.document.open(); 
    popupWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</html>'); 
    popupWin.document.close(); 
} 
+0

哇,效果很好。我整天都在忙於解決這個問題。提前致謝 –