0

我在页面上有一个文字控件(上面有一些数据)。我想用 javascript 访问它并想在上面放一些文本。请告诉我如何在 javascript 中访问文字控件。(我正在使用 asp.net)

我在javascript中的代码(但不工作):

 lths = document.getElementById("<%= lblhs.ClientID %>");
 lths.innerHTML = 'this is text line"
4

4 回答 4

5

您可以使用 .NET 4.0 找到它,document.getElementById('<%= myControl.ClientID %>')或者如果您使用的是 .NET 4.0,您可以直接将 id 字段设置为由 javascript 提取。或者,您可以使用jquery 的选择器。您的代码不起作用,因为 Literal 控件不呈现为元素,只是呈现为静态文本。你可以在它周围放置一个跨度,或者使用一个标签控件,它为你呈现一个跨度。

于 2010-02-09T05:07:14.133 回答
3

我不认为您可以从您的 javascript 客户端代码访问文字控件,因为文字控件只是呈现它的纯值,而没有任何周围的标签。因此,您实际上并没有可以通过 id 获得的元素。

您可以将文字控件更改为标签控件。默认情况下,这会呈现为 html span 标签。像这样,您可以在客户端选择它。

另一种选择是在服务器端的文字控件中编写一个 span 或 div 标签,如下所示:

myLiteral.Text = "<div id=\"myDiv\">Some Text here</div>"

在客户端上,您可以使用以下方法选择元素:

var myDiv = document.getElementById('myDiv');
于 2010-02-09T08:26:27.490 回答
1

只是为了排除明显的(因为没有其他人提到它),这是 JS 中的语法错误:

lths.innerHTML = 'this is text line"

不确定这是否是此处的输入错误,或者您是否从代码中复制了它。您可以使用其中一个",也可以'不同时使用这两个来包围字符串。此外,您应该使用终止分号作为最佳实践(尽管不是必需的)。

lths.innerHTML = 'this is text line';
于 2010-02-09T08:48:28.427 回答
0

当您使用母版页时,该<%= myControl.ClientId %>技术不起作用。情况可能是这样。你可以做的是:采取一个隐藏的领域。将标签的 ID 保存在隐藏字段中。访问value属性获取ID,然后使用document.getElementByID('HiddenField.Value')获取控件。

于 2010-02-09T05:24:20.610 回答