javascript - 如何在 javascript 中将文本分配给标签?

标签 javascript asp.net

我正在使用 RegularExpressionValidator 来验证文本框。

现在如果文本框有效,我需要在标签控件上显示“页面有效”消息。

我是在代码隐藏中做还是在 javascript 本身中声明标签?

在 javascript 中我尝试使用 :

document.getElementById("LabelId").innerText="Your Text Here"

但它显示Microsoft JScript 运行时错误:

Unable to set value of the property 'innerText': object is null or undefined".

我也尝试过使用 innerHTML,但它显示了类似的错误。那么为标签赋值的正确方法是什么? 编辑:下面是我的 aspx 编码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"        
CodeBehind="RegularExpressionValidator.aspx.cs" Inherits="ValidationTask.WebForm3" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:Label ID="LabelText" runat="server" Text="Label"></asp:Label><br />
<script type="text/javascript" language="javascript">
   function ValidatePage() {
       debugger;
       if (Page_IsValid) {
           document.getElementById('<%= LabelText.ClientID %>').innerHTML = 'Page Is Valid';
       }
       else {
           document.getElementById('<%= LabelText.ClientID %>').innerHTML = 'Page is Invalid';
       }
   } 
</script>  
<asp:Label ID="LabelZip" runat="server" Text="Enter Zip Code"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Enter" OnClientClick="return ValidatePage()"  />

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1" 
ValidationExpression="\d{5}" runat="server" ErrorMessage="The zip code must be 5 numeric   
digits"></asp:RegularExpressionValidator>
</asp:Content>

提前致谢。

P.S. 我是新来的,这是我的第一个问题。如果我有任何错误,请忽略。

最佳答案

document.getElementById("LabelId").innerText="Your Text Here"

听起来你的元素在页面上找不到。仔细检查 ID 以确保它存在。最简单的方法是只查看 html 以确保您使用的是正确的 ID。将 asp.Net 标签定义为服务器端控件时要记住的一件事是,客户端 ID 是指定 ID 和标签祖先 ID 的串联。这意味着您不能在 JavaScript 中直接引用服务器端 ID,因为它只是完整客户端 ID 的一部分。您可能必须使用通配符指定它。

如果您需要使用通配符,在 Jquery 中可能更容易做到

$('[id*=LabelId]')

这意味着您必须添加对 JQuery 的脚本引用。

关于javascript - 如何在 javascript 中将文本分配给标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249542/

相关文章:

javascript - 使用 Hapi.js 框架的多个服务器实例

javascript - Jquery中提取域名的最佳方法

javascript - 使用元素的nodeList "childNodes"。为什么没有删除container2?

asp.net - 有没有办法将类似字典的集合用作应用程序设置对象?

asp.net - 大数据集的自动完成优化

javascript - 如何更改象形图的图标?

c# - 根据 Checkbox 选中的数据做 Ajax 调用

c# - 显示某些进程的进度的最佳方式?

javascript - jQuery-mobile 和 ASP.NET 组合问题

asp.net - 无需在系统上安装 MySQL ODBC 5.1 驱动程序即可运行 .net 网站