style="MARGIN-TOP: 0px; FLOAT: left" border="0" marginwidth="0" framespacing="0" marginheight="0" src="http://wz.youkuaiyun.com/vote.aspx?t=%u91C7%u7528%u6BCD%u677F%u9875%u7684%u9875%u9762%u4F7F%u7528JavaScript%u95EE%u9898%20-%20%u5C0F%u7C73%u7684%u4E13%u680F%20-%20优快云Blog&u=http%3A//blog.youkuaiyun.com/a311300/archive/2006/12/12/1439840.aspx" frameborder="0" noresize="noresize" width="54" scrolling="no" height="75">
采用母板页的页面使用JavaScript问题



<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
function CheckInfo()

...
{
//如果点击"重置"按钮
if(event.srcElement.id=='btnClear')

...{
document.getElementById("ctl00$ContentPlaceHolder1$txtTitle").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtScore").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtStartDate").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtEndDate").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtContent").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtSouce").innerText = "";
}
}
</
script
>

<
td colspan
=
3
width
=
"
75%
"
>
<
asp:TextBox ID
=
"
txtTitle
"
runat
=
"
server
"
Width
=
"
90%
"
></
asp:TextBox
>
td
>
<
input ID
=
"
btnClear
"
class
=
"
buttomw
"
value
=
"
重置
"
onclick
=
"
CheckInfo();
"
type
=
"
button
"
/>



采用母板页的页面,在使用JavaScript时,会发现.net中的控件id,无法获取.
在调试状态下,生成静态页下查看,原来编译器将masterpage当成一个控件,而其中的控件也都会相应的改变id.
会变id为ctl00$模板名称$原名称.例:ctl00$ContentPlaceHolder1$txtSouce
下面写一个例子:
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
function CheckInfo()
...
{
//如果点击"重置"按钮
if(event.srcElement.id=='btnClear')
...{
document.getElementById("ctl00$ContentPlaceHolder1$txtTitle").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtScore").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtStartDate").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtEndDate").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtContent").innerText = "";
document.getElementById("ctl00$ContentPlaceHolder1$txtSouce").innerText = "";
}
}
</
script
>

<
td colspan
=
3
width
=
"
75%
"
>
<
asp:TextBox ID
=
"
txtTitle
"
runat
=
"
server
"
Width
=
"
90%
"
></
asp:TextBox
>
td
>
调用:
<
input ID
=
"
btnClear
"
class
=
"
buttomw
"
value
=
"
重置
"
onclick
=
"
CheckInfo();
"
type
=
"
button
"
/>
本文介绍在ASP.NET母版页中使用JavaScript访问控件时遇到的问题及解决方法。由于控件ID在编译过程中发生变化,需使用特定格式(如ctl00$ContentPlaceHolder1$txtTitle)来正确引用。
1万+

被折叠的 条评论
为什么被折叠?



