为什么javascript无法获取asp:标签innerText?

时间:2009-03-16 14:21:15

标签: c# javascript asp.net-ajax

我有两个标签:用户名和电子邮件。我使用它们来检索它们的内容并将它们作为方法参数传递。

var lblEmail = $get('<%= lblEmail.ClientID %>');
var email = lblEmail.innerText;

var lblUsername = '<%= lblUsername.ClientID %>';
var username = lblUsername.innerText;

电子邮件标签的定义方式与用户名标签相同,但最后我无法获取值,innertext返回undefined。

...

<td class="inputField">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<asp:Label ID="lblUsername" CssClass="font1" runat="server"/>
</tr>
</table>
</td>

...

...
<td class="inputField">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<asp:Label runat="server" ID="lblEmail" CssClass="font1" />
</td>
...

可能有什么理由来证明正在发生的事情?我怎么解决这个问题?我在页面上看到两个标签值,我将它们设置在同一个地方(当页面加载时)。

2 个答案:

答案 0 :(得分:5)

代码的第二部分

var lblEmail = $get('<%= lblEmail.ClientID %>');
var email = lblEmail.innerText;

var lblUsername = '<%= lblUsername.ClientID %>';
var username = lblUsername.innerText;

$ get 电话缺席。应该是

var lblEmail = $get('<%= lblEmail.ClientID %>');
var email = lblEmail.innerText;

var lblUsername = $get('<%= lblUsername.ClientID %>');
var username = lblUsername.innerText;

答案 1 :(得分:3)

因为您只定义了userName标签的客户端ID:

var lblEmail = $get('<%= lblEmail.ClientID %>');
var email = lblEmail.innerText;

var lblUsername = '<%= lblUsername.ClientID %>';
var username = lblUsername.innerText;