javascript – Textarea – Angular类型’HTMLElement’上不存在属性’value’

使用Angular 4(typescript),我有以下HTML代码:

 <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>

我正在尝试使用以下内容将用户输入的数据输入textarea:

public parseTSNs(){
    let tsnString = document.getElementById("tsn_list").value;
    console.log("User inputted string: " + tsnString);
}

该功能由按钮调用.

代码未编译,原因如下:

Property 'value' does not exist on type 'HTMLElement'

这应该是一个简单的功能.我究竟做错了什么? W3schools“从textarea获取价值”显示’.value’作为必需的功能!

解决方法:

您只需声明元素的类型是HTMLTextAreaElement.因为document.getElementById返回HTMLElement而并非所有html元素都具有value属性:

let tsnString = (document.getElementById("tsn_list") as HTMLTextAreaElement).value;

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐