如何在javascript中获取元素ID?

时间:2012-12-26 06:43:34

标签: javascript asp.net

我有一个母版页,我在其中为getElementById定义了一个函数。

function Clear() {
    document.getElementById('<%= NameTextBox.ClientID  %>').value = "";
    document.getElementById('<%= LastNameTextBox.ClientID  %>').value = "";
}

当我在其他页面中使用此功能时,它正在清除元素值。

但是当我在母版页中使用此代码时,我收到错误:

  

由于控件无法修改Controls集合   包含代码块(即&lt;%...%&gt;)。

[HttpException (0x80004005): The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).]
 System.Web.UI.ControlCollection.Add(Control child) +9601391
AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences(Control control) +691
AjaxControlToolkit.ScriptControlBase.OnLoad(EventArgs e) +44
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772

如果我将我的代码更改为:

document.getElementById('<%# NameTextBox.ClientID  %>').value = "";

我没有得到错误。但是不要清除我的元素。

1 个答案:

答案 0 :(得分:0)

看起来您在母版页的<Head>标记中添加了提到的js函数。 而是尝试在主页中的<form>标记中添加js函数。