关于HTML控件作为服务器控件后ID会变化
麻烦大家动动手
我用js写了一段脚本用来获取asp.net的控件
function getAnchor(){
alert(document.getElementById("test").text);
}
然后HTML控件的代码是这样的
<input type="button" runat="server" id="test" value="test"/>
但是获取不到他的值
而且在页面右键显示源文件的时候
里面HTML控件作为服务器控件的ID全部被重新命名, name 属性的值也变化
请大家帮帮忙
关键时刻
另外预祝各位同学新春快乐
谢谢大家乐
------解决方案--------------------document.getElementById("<%= test.ClientID %>").text
------解决方案--------------------是放在控件内的吧? 比如gridview,repeat里 1楼可行
如果是后台控制就用e.item.findcontrol(id);
------解决方案--------------------alert(document.getElementById("test").value);
------解决方案--------------------删除runat="server"
或function getAnchor(){
alert(document.getElementById("<%=test.ClientID%>").text);
}
<input type="button" runat="server" id="test" value="test"/>
HtmlInputText
------解决方案--------------------ClientID 就获取你生成的空间的 id了
------解决方案--------------------通过获取ID号,来传递信息,这样就可以了吧
------解决方案--------------------function getAnchor() {
alert(document.getElementById("test").value);
}
其实当你不知道id是多少的时候,直接看源文件,把id名改为源文件中的id名就OK了
------解决方案--------------------document.getElementById("<%= test.ClientID %>").text
------解决方案--------------------改成:
function getAnchor(){
alert(document.getElementById("<%=test.ClientID%>").value);
}
------解决方案--------------------如果你是写在用户控件里面的话,就会被重新命名,加了$符号之类的,一般是父控件的名$子控件名 ,你改成
alert(document.getElementById("源文件里面的ID").value);就OK了
------解决方案--------------------asp.net4和asp.net mvc里面就不会变化了
------解决方案--------------------
学习了。。
document.getElementById("test").value
这个可行、试过了
document.getElementById("<%= test.ClientID %>").text
这个没弄出来。。。。同样是未定义错误
搞不明白