清除标签文本值

时间:2010-10-03 17:49:25

标签: javascript

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Script2.aspx.cs" Inherits="Javascript.Script2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="javascript" type="text/javascript">
    function ClearValue(Text1, Text2) {
        var txtClear1 = document.getElementById(Text1);
        var txtClear2 = document.getElementById(Text2);
        if (txtClear1 != null || txtClear2 != null)
         {
            txtClear1.outerText = "";
            txtClear1.value = "";
            txtClear1.innerText = "";
            txtClear1.innerHTML = "";
            txtClear1.outerHTML = ""

            txtClear2.value = "";
            txtClear2.innerText = "";
            txtClear2.innerHTML = "";
            txtClear2.outerHTML = ""

            return false;
        }
    }
    </script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lblError1" runat="server" Text="Label1"></asp:Label>
        <asp:Label ID="lblError2" runat="server" Text="Label2"></asp:Label>
        <asp:Button ID="btnClose" runat="server" Text="Button" 
            onclick="btnClose_Click"   />  
    </div>
    </form>
</body>
</html>



namespace Javascript
{
    public partial class Script2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            btnClose.Attributes.Add("onclick", "ClearValue('" + lblError1.ClientID + "','" + lblError2.ClientID + "')");
        }

        protected void btnClose_Click(object sender, EventArgs e)
        {

        }
    }
}

这里我无法清除Label的文本值。

一旦我按下按钮。我正在试图清除标签值。

但文字没有被清除。

任何想法如何解决问题。

感谢。

2 个答案:

答案 0 :(得分:0)

ASP.NET控件的ID与DOM中的 id 不同。 HTML元素的ID由ASP.NET在运行时生成。

您可以通过指定ClientID属性来指定DOM id

<asp:Label ID="lblError1" ClientID="lblError1" runat="server" Text="Label1"></asp:Label>

答案 1 :(得分:0)

标签似乎不适用于此目的。更改客户端的标签不会将其值保留在PostBacks上。改为使用文本框,并通过设置borderwidth = 0

使其看起来像标签
 <asp:TextBox ID="lbl_error" BorderColor="White" BorderStyle="None"   BorderWidth="0" runat="server" Width="99%"></asp:TextBox>

然后在javascript中写这个函数

function resetlabel() {

            document.getElementById("<%=lbl_error.ClientID%>").value = "";
        }