的JavaScript的getElementById为ASP.NET控件返回null? [英] JavaScript getElementById for ASP.NET Control returns null?
本文介绍了的JavaScript的getElementById为ASP.NET控件返回null?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用JavaScript和执行过程中出现我这个错误:
微软JScript运行时错误:'的document.getElementById(...)'为空或不是对象
这是我的code:
< ASP:内容ID =内容2ContentPlaceHolderID =ContentPlaceHolder1=服务器>
< SCRIPT LANGUAGE =JavaScript的类型=文/ JavaScript的>
功能ConfirmTransfere(){
如果(确认(系统的研究与开发不允许负库存,你想继续?)==真){
的document.getElementById(btnAlelrt),点击()。 }
}
< / SCRIPT>
< ASP:的ScriptManager ID =ScriptManager1=服务器>
< / ASP:ScriptManager的>
< ASP:的UpdatePanel ID =uxContainer=服务器>
<&的ContentTemplate GT;
<表>
&所述; TR>
&所述; TD>
< ASP:按钮的ID =uxTransfer=服务器文本=传送的OnClick =uxTransfer_Click/>
< ASP:按钮的ID =btnAlelrt=服务器文本=GetDetails的OnClick =btnAlelrt_Click/>
< / TD>
< / TR>
< /表>
< /&的ContentTemplate GT;
<&触发器GT;
< ASP:PostBackTrigger控件ID =uxTransfer/>
< /触发器>
< / ASP:的UpdatePanel> < / ASP:内容>
解决方案
这
函数ConfirmTransfere(){
如果(确认(系统的研究与开发不允许负库存,你想继续?)==真){
的document.getElementById(btnAlelrt),点击()。 }
必须是这样的:
函数ConfirmTransfere(){
如果(确认(系统的研究与开发不允许负库存,你想继续?)==真){
的document.getElementById('<%= btnAlert.ClientID%GT;')。点击(); }
问题是,你的按钮是一个ASP.Net控制和将产生它自己的客户端ID,这将是与您指定的ID不同。将在code <%= btnAlert.ClientID%方式>
将张贴生成的一个输出到浏览器
I use JavaScript and this error appears for me during execution:
Microsoft JScript runtime error: 'document.getElementById(...)' is null or not an object
this my code:
<asp:Content ID="content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script language="javascript" type="text/javascript">
function ConfirmTransfere() {
if (confirm("Syatem not allow negative inventory, would you like to continue ?") == true) {
document.getElementById("btnAlelrt").click();
}
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="uxContainer" runat="server">
<ContentTemplate>
<table>
<tr>
<td>
<asp:Button ID="uxTransfer" runat="server" Text="Transfer" OnClick="uxTransfer_Click" />
<asp:Button ID="btnAlelrt" runat="server" Text="GetDetails" OnClick="btnAlelrt_Click" />
</td>
</tr>
</table>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="uxTransfer" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
解决方案
This:
function ConfirmTransfere() {
if (confirm("Syatem not allow negative inventory, would you like to continue ?") == true) {
document.getElementById("btnAlelrt").click();
}
needs to be this:
function ConfirmTransfere() {
if (confirm("Syatem not allow negative inventory, would you like to continue ?") == true) {
document.getElementById('<%=btnAlert.ClientID%>').click();
}
The problem is that your button is an ASP.Net control and will generate it's own client id, which will be different from the ID you specified. putting in the code <%=btnAlert.ClientID%>
Will post the generated one out to the browser.
这篇关于的JavaScript的getElementById为ASP.NET控件返回null?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文