问题描述
使用Angular 4(typescript),我有以下HTML代码:
Using Angular 4 (typescript), I have the below HTML code:
<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:
I am trying to get the data that the user is typing into the textarea using:
public parseTSNs(){
let tsnString = document.getElementById("tsn_list").value;
console.log("User inputted string: " + tsnString);
}
此功能由一个按钮调用。
This function is called by a button.
由于以下原因,代码未编译:
The code is not compiling due to:
Property 'value' does not exist on type 'HTMLElement'
这应该是一个简单的函数。我究竟做错了什么? W3schools从textarea获取值显示'.value'作为必需的函数!
This should be a simple function. What am I doing wrong? W3schools "getting values from textarea" shows '.value' as the required function!
推荐答案
你只需断言该类型您的元素是 HTMLTextAreaElement
。因为 document.getElementById
返回 HTMLElement
而且并非所有html元素都具有值
property:
You just have to assert that the type of your element is HTMLTextAreaElement
. Because document.getElementById
returns HTMLElement
and not all html elements have the value
property:
let tsnString = (document.getElementById("tsn_list") as HTMLTextAreaElement).value;
但是当您使用Angular时,您可能应该使用数据绑定而不是自己查询值
But seeing as you use Angular, you should probably be using data binding instead of querying the values yourself
这篇关于对于Textarea - Angular,类型'HTMLElement'上不存在属性'value'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!