当前位置: 代码迷 >> ASP.NET >> 关于JavaScript修改Label的值,该如何处理
  详细解决方案

关于JavaScript修改Label的值,该如何处理

热度:2261   发布时间:2013-02-25 00:00:00.0
关于JavaScript修改Label的值
我想用JavaScript把Label1赋值为 Hello World,可是这样做,老是不成功,帮帮忙啊。。。

JS文件夹下面的 js文件 test.js:

JScript code
function writeString(){    document.getElementById("Label1").Value="Hello World"; }


窗体Default2的代码:

HTML code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">    <title>无标题页</title>    <script type="text/javascript" src="JS/test.js"></script></head><body onload="writeString()">    <form id="form1" runat="server">    <asp:Label ID="Label1" runat="server"></asp:Label>    <div>        </div>    </form></body>


------解决方案--------------------------------------------------------
先搞清问题在说,
javascript只是脚本,
他不能像在.net后台一样改一个控件的值,
要改可以改成以下试试
JScript code
function writeString(){    document.getElementById("Label1").innerHTML="Hello World"; }
------解决方案--------------------------------------------------------
<body onload="writeString()">
顺序不对 调用函数的时候label还没有创建啦
------解决方案--------------------------------------------------------
你这样写,那控件不能是服务器控件的,再说了服务器控件也没VALUE这个属性
------解决方案--------------------------------------------------------
考虑到母版页等的情况,最好的以后习惯用:
 document.getElementById('<%= Label1.ClientID %>').innerText = "Hello World";
这种写法。



------解决方案--------------------------------------------------------
探讨
先搞清问题在说,
javascript只是脚本,
他不能像在.net后台一样改一个控件的值,
要改可以改成以下试试

JScript codefunction writeString()
{
document.getElementById("Label1").innerHTML="Hello World";
}


但是你要确保,在浏览器中的label的ID是Label1才可以

------解决方案--------------------------------------------------------
似乎,javascript只对像text,button这样的html本身就有的东西才支持getelementbyid。像lable这样的不行
  相关解决方案