ASP.NET内容页中的javascript错误 功能测试1(w){ document.getElementById(“”).style.width=w; 返回false; } 测试1(10);//这一行出现了一个错误。为什么?
当从脚本调用函数Test1(10)时,我得到一个错误。但当它点击按钮时,它工作正常。如何从脚本调用函数(或者如何访问ASP.NET内容页中的javascript错误 功能测试1(w){ document.getElementById(“”).style.width=w; 返回false; } 测试1(10);//这一行出现了一个错误。为什么?,javascript,asp.net,webforms,Javascript,Asp.net,Webforms,当从脚本调用函数Test1(10)时,我得到一个错误。但当它点击按钮时,它工作正常。如何从脚本调用函数(或者如何访问ASP.NET内容页中的onload()函数) 当调用块中的“Test1()”时,该输入字段还不是DOM的一部分。因此,对getElementById()的调用将返回null,函数的第一行将失败 如果将块移动到文本框后面,则它应该可以工作 编辑-您可能还希望在宽度中明确添加“px”。试试这个 <asp:Content ID="Content2" ContentPlac
ASP.NET内容页中的onload()
函数) 当调用
块中的“Test1()”时,该输入字段还不是DOM的一部分。因此,对getElementById()
的调用将返回null
,函数的第一行将失败
如果将
块移动到文本框后面,则它应该可以工作
编辑-您可能还希望在宽度中明确添加“px”。试试这个
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script type="text/javascript">
function Test1(w) {
document.getElementById('<%=TextBox1.ClientID%>').style.width = w;
return false;
}
Test1(10); // This line arises an error. Why ?
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input id="Button1" type="button" value="button" onclick="Test1(10)" />
</asp:Content>
功能测试1(w){
document.getElementById(“”).style.width=w;
返回false;
}
window.onload=函数(){
Test1(10);//此行出现错误。为什么?
}
这是因为在脚本中执行Test1时,文本框不存在。您必须将调用放在document.ready函数中,或者将其移到文本框后面的页面下方。每次您想要执行javascript代码时,首先,即使是直接从标签中执行,也可以从您必须等待加载dom级别的事件中执行。
所以我们可以这样做:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script type="text/javascript">
function Test1(w) {
document.getElementById('<%=TextBox1.ClientID%>').style.width = w;
return false;
}
window.onload = function() {
Test1(10); // This line arises an error. Why ?
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input id="Button1" type="button" value="button" onclick="Test1(10)" />
</asp:Content>
window.onload=函数()
{/*代码*/}
或者在body标记的“onload”事件中执行代码:
像
或者,如果使用JQuery,则可以使用上面的:
<body onload="Test1(10);">
</body>
$(文档).ready(函数(){
/*要执行的代码*/
});
您应该等待文档加载
<body onload="Test1(10);">
</body>
<script type="text/javascript">
$(document).ready(function(){
/* Code to execute */
});
</script>