采用母板页的页面,在使用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 >
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
"
/>