说明:ti22是用户控件中子控件的IDstr="<%=ti22.ClientID %>"
document.getElementById(str).innerHTML="22";
以上代码可以正常设置值。我想用以下的方式设置值,请问该如何操作:var i=2;
str="<%=ti2"+i+".ClientID %>"//这个总是通不过
document.getElementById(str).innerHTML="22";
document.getElementById(str).innerHTML="22";
以上代码可以正常设置值。我想用以下的方式设置值,请问该如何操作:var i=2;
str="<%=ti2"+i+".ClientID %>"//这个总是通不过
document.getElementById(str).innerHTML="22";
你觉得这样的写法符合 C#或者VB.NET语法吗?
or
<%=(form1.FindControl("ti2"+i) as XXControl).ClientID %>
str="ti2<%=i %>.ClientID"
楼主检查一下是不是document.getElementById(str)为null如果是的话就是在加载之前调用了document.getElementById(str).innerHTML="22";会报错
<body>
<form name=f>
<input type='text' id='t22' name='t22' value='test' onclick='test()' />
</form>
</body>
<script>
function test(){
alert(document.f.t22.value)
try{
var i=2
var str='t2'+i
alert(document.f.str.value)
//上面的str仅仅是字串而已,f.str本意是要找t22对象,但f.str相当于f."一个字串str",所以下面会报错
}
catch(e){alert(e.message)} var i=2
var str='t2'+i
alert(document.f[str].value)//但f[str]就不同了,f[str]的含义是找出f下的、名为str的控件对象,
//所以是正确的}
</script>