Javascript 按下一个按钮进行打印后,将焦点放在另一个按钮上
我有一个按钮,用于打印。我希望在按下打印按钮后,焦点转到另一个按钮。但是我的代码不起作用 我从firebug得到的错误是Javascript 按下一个按钮进行打印后,将焦点放在另一个按钮上,javascript,asp.net,client-side,Javascript,Asp.net,Client Side,我有一个按钮,用于打印。我希望在按下打印按钮后,焦点转到另一个按钮。但是我的代码不起作用 我从firebug得到的错误是TypeError:document.getElementById(…)为null。 打印过程已成功完成,但打印后,焦点不会转到“btn_CR”按钮 在打印过程结束后,焦点转到“btn_CR”按钮上,我如何才能做到这一点。我是否需要编写服务器端脚本,或者这可以由javascript处理?请帮帮我 我的aspx代码:: <asp:Content ID="AdminConte
TypeError:document.getElementById(…)为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>
姓名:
var NextFocusButtonId=;
printPage()函数位于外部“print.js”文件中
函数printPage(){
var headstr=“”;
var footstr=“”;
var newstr=document.getElementById(“printIt”).innerHTML;
var oldstr=document.body.innerHTML;
document.body.innerHTML=newstr;
window.print();
document.body.innerHTML=oldstr;
document.getElementById(“”).focus();
}
按照建议,我更改了代码
document.getElementById('<%=btn_CR.ClientID%>').focus();
document.getElementById(“”).focus();
到document.getElementById('btn_-CR').focus()代码>
但是仍然得到相同的错误TypeError:document.getElementById(…)为null
您不能在.js
文件中使用内联表达式
。
试用
document.getElementById('btn_CR').focus();
另外,在printPage
函数中,您正在调用getElementById(printIt')。innerHTML
。没有ID为“printIt”的元素,因此它将返回null
,并且null.innerHTML
将中断。这部分代码
未在print.js
中翻译。
现在,因为您需要将其转换为一个技巧,所以它可以在javascript文件之前进行转换,例如,您可以执行以下操作:
<script>
var NextFocusButtonId = <%=btn_CR.ClientID%>;
</script>
<script type="text/javascript" src="../scripts/print.js"></script>
您确定吗,错误在第二个getElementById
?@Backs中?我不太擅长javascript。我只是发布我从firebug控制台得到的信息。请你提出解决这个问题的办法好吗。非常感谢。伙计们,请给我一些解决办法。非常感谢。谢谢你的及时回复。那么,我应该用什么来关注另一个按钮呢?我已经提供了完整的aspx代码。请看一看。谢谢我应该使用document.getElementById(NextFocusButtonId.focus()
或document.getElementById('NextFocusButtonId').focus()代码>。请推荐。我已经提供了页面的HTML。请看一下代码。我已经按照你的建议做了改变,但仍然不能解决问题。非常感谢。
<script>
var NextFocusButtonId = <%=btn_CR.ClientID%>;
</script>
<script type="text/javascript" src="../scripts/print.js"></script>
document.getElementById(NextFocusButtonId).focus();