使用母版页后,控件名称自动生成导致js无法正常操作.net控件的问题
现在遇到一个问题,我在母版页里定义的form为
<form id= "form1 " runat= "server "> ... </form>
里面有很多控件,随便举个例子比如
<asp:TextBox ID= "txtEmail " runat= "server "> </asp:TextBox>
但是页面打开以后,就变成了
<form name= "aspnetForm " method= "post " action= "welcome.aspx " id= "aspnetForm "> ... </form>
和
<input name= "ctl00$MainContent$txtEmail " type= "text " id= "ctl00_MainContent_txtEmail " />
我的页面里有很多Javascript脚本使用这些控件,无法正常使用。
解决方法:
用控件的ClientID属性
在JavaScript中这样使用:
var email = document.getElementById( ' <%= txtEmail.ClientID %> ');
<form id= "form1 " runat= "server "> ... </form>
里面有很多控件,随便举个例子比如
<asp:TextBox ID= "txtEmail " runat= "server "> </asp:TextBox>
但是页面打开以后,就变成了
<form name= "aspnetForm " method= "post " action= "welcome.aspx " id= "aspnetForm "> ... </form>
和
<input name= "ctl00$MainContent$txtEmail " type= "text " id= "ctl00_MainContent_txtEmail " />
我的页面里有很多Javascript脚本使用这些控件,无法正常使用。
解决方法:
用控件的ClientID属性
在JavaScript中这样使用:
var email = document.getElementById( ' <%= txtEmail.ClientID %> ');