我有一個按鈕,用於打印目的。我想在按下打印按鈕後,焦點轉到另一個按鈕。但我的代碼不起作用。按下按鈕進行打印後,將焦點放在另一個按鈕上
該錯誤我從螢火蟲得到的是TypeError: document.getElementById(...) is null
。 打印過程已成功完成,但打印完成後,重點不會轉到「btn_CR」按鈕。
如何在打印過程後將焦點放到「btn_CR」按鈕上。 我是否需要編寫服務器端腳本,或者這可以通過JavaScript處理?請幫我。
我的aspx代碼::
<asp:Content ID="AdminContent" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:Panel ID="print_Client_registration" Visible="false" runat="server">
<div id="printIt">
<div style="width: 260px;font-family:Arial,Helvetica, sans-serif;">
<div style="text-align: center; width: 100%; font-size: 15px;"><b>
<asp:Label ID="lblClientId" runat="server" /></b></div>
<div style="text-align: left; width: 100%; font-size: 13px;"><b>Name:</b>
<asp:Label ID="lblName" runat="server" /></div>
</div>
</div>
<asp:Button ID="btn_print" runat="server" ClientIDMode="Static" Text="Print" OnClientClick="printPage();"/>
<div>
<table class="nostyle">
<tr>
<td><input type="button" id="btn_CR" runat="server" value="Client Register" onclick="window.location.href = 'NewClientRegister.aspx'" /></td>
</tr>
</table>
</div>
</asp:Panel>
<script type="text/javascript">
var NextFocusButtonId = <%=btn_CR.ClientID%>;
</script>
<script type="text/javascript" src="../scripts/print.js"></script>
</asp:Content>
的PrintPage()函數是在外部 「print.js」 文件
function printPage() {
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.getElementById("printIt").innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = newstr;
window.print();
document.body.innerHTML = oldstr;
document.getElementById('<%=btn_CR.ClientID%>').focus();
}
至於建議我改變了代碼
document.getElementById('<%=btn_CR.ClientID%>').focus();
去document.getElementById('btn_CR').focus();
但是s直到得到相同的錯誤TypeError: document.getElementById(...) is null
。
你確定,錯誤在第二個'getElementById'中? – Backs
@Backs我對JavaScript不太好。我只是發佈我從螢火蟲控制檯得到的東西。請你建議可能是什麼問題的解決方案。謝謝! – user4221591
夥計們請給我一些解決方案。謝謝! – user4221591