首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >属性'value‘在“HTMLElement”类型上不存在,用于Textarea -角

属性'value‘在“HTMLElement”类型上不存在,用于Textarea -角
EN

Stack Overflow用户
提问于 2017-07-11 07:36:53
回答 4查看 32.4K关注 0票数 6

使用角4(打字本),我有以下HTML代码:

代码语言:javascript
运行
复制
 <div *ngIf="dataService.selected_markers.length == 0" id="tsnPasteContainer">
      <form style="width: 100%; height: 100%">
        <textarea id="tsn_list" style="width: 100%; height: 100%" type="text" name="tsn_list" placeholder="e.g. 2001311,2425302,2153542,2435974"></textarea>
      </form>
    </div>

我试图使用以下方法获取用户在文本区域中键入的数据:

代码语言:javascript
运行
复制
public parseTSNs(){
    let tsnString = document.getElementById("tsn_list").value;
    console.log("User inputted string: " + tsnString);
}

此函数由一个按钮调用。

由于以下原因,代码没有编译:

代码语言:javascript
运行
复制
Property 'value' does not exist on type 'HTMLElement'

这应该是一个简单的函数。我做错了什么?W3schools“从文本区域获取值”将'.value‘显示为所需的函数!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-07-11 08:52:12

您只需断言元素的类型是HTMLTextAreaElement。因为document.getElementById返回HTMLElement,而且并不是所有的html元素都具有value属性:

代码语言:javascript
运行
复制
let tsnString = (document.getElementById("tsn_list") as HTMLTextAreaElement).value;

但是,当您使用角时,您可能应该使用数据绑定,而不是自己查询值。

票数 34
EN

Stack Overflow用户

发布于 2020-03-17 06:27:46

在表中设置单元格值时,我遇到了类似的问题。

我将数据添加如下:

代码语言:javascript
运行
复制
document.getElementById("table_id").rows[0].cells[0].innerHTML = "data_to_be_added";

我得到了以下错误:

错误TS2339:属性'HTMLElement‘在类型’HTMLElement‘上不存在 “HTMLElement”类型上不存在属性“单元格”

因此,我添加了下面的标记,错误得到了解决。

代码语言:javascript
运行
复制
(document.getElementById("table_id") as any).rows[0].cells[0].innerHTML = "data_to_be_added";

在这里,您将隐式地更改变量的类型。

票数 3
EN

Stack Overflow用户

发布于 2017-07-11 07:40:55

您应该使用:[(ngModel)]='yourValue'将数据绑定到控制器。Textarea不使用value参数。

请阅读更多关于HTML及其属性招租的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45028233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档