gpt4 book ai didi

javascript - 为什么我可以访问asp :TextBox in javascript,但不能访问asp :Label?

转载 作者:行者123 更新时间:2023-11-29 09:56:53 25 4
gpt4 key购买 nike

下面是我在说什么的简单演示

head标签中的js:

  function changeTxt(frm){
var lblo = frm.txt1;
lblo.value = "hey guy";

var lbl = frm.lblStatus;
lbl.innerHTML = "hello world";
}

aspx/html 标记:

<asp:Label ID="lblStatus" runat="server"></asp:Label>
<asp:TextBox ID="txt1" runat="server"></asp:TextBox>

<button onclick="changeTxt(this.form);">go</button>

js 找到 txt1(input html 元素)并更改值。但是为什么找不到lblStatus(span html元素)呢?它出现为 undefined。它们都是相同的形式。

编辑: 问题似乎是访问 js 中的 span 节点。我想您不能像我一样通过表单对象访问它们。

最佳答案

asp:Label 呈现为跨度或标签,因此 value 不是更改文本的正确方法。你需要使用像这样的 innerHTML :

function changeTxt(frm){
var lblo = document.getElementById('<%: txt1.ClientID %>');
lblo.value = "hey guy";

var lbl = document.getElementById('<%: lblStatus.ClientID %>');
lbl.innerHTML = "hello world";
}

您还应该使用 getElementById 来获取对象。

注意潜力XSS使用 innerHTML 时的问题。

关于javascript - 为什么我可以访问asp :TextBox in javascript,但不能访问asp :Label?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com