如何使用javascript在用户控制页面的父页面中获取隐藏的控件ID。页面中有一个隐藏的输入控件。我想在此页面中使用的用户控制页面中为此控件赋值。它是一个ascx页面控件。
<input type="hidden" runat="server" name="isChanged" id="isChanged" value="0" />
答案 0 :(得分:1)
如下所示注册
isChanged.ClientID- is serverside property... so this will work for you
document.getElementById("<%=isChanged.ClientID %>");
答案 1 :(得分:1)
你可以使用jquery使用'ends with'选择器来完成这个。
var element = $("input[id$=isChanged]")[0];
这假设您的页面上只有一个输入,其id以“isChanged”结尾。我们使用的结果是因为asp会使你的控件的客户端ID像ct100 $ placeholder1 $ mypanel $ isChanged。
更强大的解决方案是在您的usercontrol上设置一个属性(例如'ClientIdOfHiddenField'),您可以从page_load上的父页面设置该属性
protected void Page_Load(object sender, EventArgs e)
{
UserControl1.ClientIdOfHiddenField = isChanged.ClientID;
}
然后在您的用户控件的标记中,您可以
var element = document.getElementById("<%= ClientIdOfHiddenField %>");
答案 2 :(得分:0)
如果您使用的是jQuery,则应该可以使用
var hidden = $('input[id$="isChanged"]');
否则@Pranay Rana的回答应该有效。