javascript中调用content页的控件的ID?急!谢谢!
本来的语句如下:for (i = 1; i<4;i++)
{
document.all("S1_AZDrug" + i).value="";
}
aspx页面中分别有S1_AZDrug1,S1_AZDrug2,S1_AZDrug3相对应控件。工作正常。
但现在把页面放到用户控件中,这样一来,加载页面后,原来ID为S1_AZDrug1,S1_AZDrug2,S1_AZDrug3的控件的ID就变了,变成系统自动分配的了?!
我怎样修改我的javascript才能达到原来的要求。
我试过如下: 用document.all("<%=S1_AZDrug1.ClientID%>").value="";可以实现目的,但我不知道怎样利用循环来做???。
javascript 不认 document.all("<%=S1_AZDrug"+i+".ClientID%>").value="".
请大侠赐教!谢谢 --------------------编程问答-------------------- 你可以在for 判断查找这些控件是不是包含这个S1_AZDrug,如果包含就是你要的控件了 --------------------编程问答-------------------- S1_AZDrug1,S1_AZDrug2,S1_AZDrug3这在个是服务端的ID,才会在这控件被调用时解释出来的HTML代码中有变,变化的规则是在ID前面加上这个控件ID,如控件的ID是SEA1,那么前面的ID会变成SEA1_S1_AZDrug1
两个方式,
1、直接用解释出来的ID:SEA1_S1_AZDrug1
2、改用客户端ID,如原来是<div id="AZDrug1" runat="server">改为<div id="AZDrug1">,若确实要用服务端的话,看下是否能在内层或外层再加上一个客户端的ID --------------------编程问答-------------------- // .ascx里这样返回呢?
public string S1_AZDrug1
{
get { return 控件1.ClientID; }
}
public string S1_AZDrug2
{
get { return 控件2.ClientID; }
}
public string S1_AZDrug3
{
get { return 控件3.ClientID; }
}
然后其他不变。 --------------------编程问答-------------------- 对了,应该是 document.all(" <%=S1_AZDrug"+i %>").value="".
--------------------编程问答-------------------- 还有方法就是你给这三个控件加上name属性,它是不会变的,在用
for (i = 1; i <4;i++)
{
document.getElementsByName("S1_AZDrug" + i).value="";
}
--------------------编程问答-------------------- 1楼的没看懂。能解释详细点吗?
2楼的这句话没看懂:“变化的规则是在ID前面加上这个控件ID",什么是控件ID?另,必须用服务端的控件
谢谢回复! --------------------编程问答-------------------- 4楼的其实定义了一个变量传到javascript端,我试一下,document.all(" <%=S1_AZDrug"+i %>").value="". 是否应该是document.all(" <%=S1_AZDrug"+i+" %>").value="".
5楼的不行,name同样变化了。 --------------------编程问答-------------------- 还有方法就是你给这三个控件加上name属性,它是不会变的,在用
for (i = 1; i <4;i++)
{
document.getElementsByName("S1_AZDrug" + i).value="";
} --------------------编程问答--------------------
我写错了。应该是定义了属性。你试了吗? --------------------编程问答-------------------- 那就用得到所有的这个类型的标签,再判断它的ID是否包含S1_AZDrug
document.form1.getElementsByTagName(""); --------------------编程问答-------------------- 9楼,这条语句document.all(" <%=S1_AZDrug"+i+" %>").value="".不行,编译通不过。 --------------------编程问答-------------------- 10楼,那样太麻烦。我有很多控件的。 --------------------编程问答-------------------- UP
--------------------编程问答-------------------- 其它我也没法了 --------------------编程问答-------------------- xiexie
--------------------编程问答-------------------- 顶
补充:.NET技术 , ASP.NET