1. Control.ID 表示服务器控件的在服务器【代码范围】的有效 ID Control.ClientID 表示其呈现为 html 元素对应的客户 id Control.UiqueID 表示其呈现为 html 元素对应的客户 name2. 在客户端取服务器端控件的时候有时候直接用document.getElementById()可以,有时候又不行,这是为何?=========document.getElementById(clientElementId) 假如 clientElementId 引用正确,不可能取不到!!!t = document.getElementById("<%=GridView.ClientID%>") 返回的t等于null啊?这种问题,只有你自己能够检查——打开生成的 html 查找 是否具有 id 为 【GridView1.ClientID 真实值】的元素 ....
to Jinglecat(晓风残月): 生成的html文件是有id的=================================================================== 这种问题,只有你自己能够检查——打开生成的 html 查找 是否具有 id 为 【GridView1.ClientID 真实值】的元素 ....
用for,我就是这样做的
比如s1在html里为griddetial1__ctl2_s1,
s2 griddetial1__ctl3_s1,
var cellNum = 3 //第4列
for(i = 0;i<t.rows.length;i++)
{
alert(t.rows[i].cells[cellNum].innerHTML)
inputs = t.rows[i].cells[cellNum].getElementsByTagName("INPUT")[0]
alert(inputs.value)
}
首先谢谢【孟子E章】!
在第一行处,即:
t = document.getElementById("<%=GridView.ClientID%>")
返回的t等于null啊?注:"GridView"我已经改成自己的GridView的ID号了
if(typeof tb!="undefined" && tb!=null)
{
var rowCount = tb.rows.length;
var cellCount = tb.rows[1].cells.length;
for(var m=1;m<rowCount;m++)
{
for(var n=1;n<cellCount;n++)
{
var cell = tb.rows[m].cells[n];
if(typeof cell!="undefined" && cell!=null)
{
if(cell.style.backgroundColor=="blue")
cell.style.backgroundColor="white";
}
}
}
}
但还是有一个问题不知道是为什么:
在客户端取服务器端控件的时候有时候直接用document.getElementById()可以,有时候又不行,这是为何? 想知道这个问题的答案,下午结贴
返回的t等于null啊?不可能吧,你的js是在apsx里面的吗?
Control.ID 表示服务器控件的在服务器【代码范围】的有效 ID
Control.ClientID 表示其呈现为 html 元素对应的客户 id
Control.UiqueID 表示其呈现为 html 元素对应的客户 name2.
在客户端取服务器端控件的时候有时候直接用document.getElementById()可以,有时候又不行,这是为何?=========document.getElementById(clientElementId) 假如 clientElementId 引用正确,不可能取不到!!!t = document.getElementById("<%=GridView.ClientID%>")
返回的t等于null啊?这种问题,只有你自己能够检查——打开生成的 html 查找 是否具有 id 为 【GridView1.ClientID 真实值】的元素 ....
代码放在单独的js文件中就返回了null
如果代码放在aspx如下信息:
“控件包含代码块(即 <% ... %>),因此无法修改控件集合。”
代码放在单独的js文件中就返回了null
如果代码放在aspx文件中,生成的时候通过了,但启动的时候却返回如下信息:
“控件包含代码块(即 <% ... %>),因此无法修改控件集合。”
生成的html文件是有id的===================================================================
这种问题,只有你自己能够检查——打开生成的 html 查找 是否具有 id 为 【GridView1.ClientID 真实值】的元素 ....
这是必然的一定要放在aspx里的,哪怕只定义一个变量t = document.getElementById('<%=GridView.ClientID%>')
这是必然的一定要放在aspx里的,哪怕只定义一个变量tid = '<%=GridView.ClientID%>'js文件写
document.getElementById(tid)
用for,我就是这样做的
比如s1在html里为griddetial1__ctl2_s1,
s2 griddetial1__ctl3_s1,这个方法我也用过 就是比较土了点用孟老大的方法应该不错
把 tid = '<%=GridView.ClientID%>' 这一句放在页面最下方终于通过测试,在此谢谢孟老大!