使用角4(打字本),我有以下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>我试图使用以下方法获取用户在文本区域中键入的数据:
public parseTSNs(){
let tsnString = document.getElementById("tsn_list").value;
console.log("User inputted string: " + tsnString);
}此函数由一个按钮调用。
由于以下原因,代码没有编译:
Property 'value' does not exist on type 'HTMLElement'这应该是一个简单的函数。我做错了什么?W3schools“从文本区域获取值”将'.value‘显示为所需的函数!
发布于 2017-07-11 08:52:12
您只需断言元素的类型是HTMLTextAreaElement。因为document.getElementById返回HTMLElement,而且并不是所有的html元素都具有value属性:
let tsnString = (document.getElementById("tsn_list") as HTMLTextAreaElement).value;但是,当您使用角时,您可能应该使用数据绑定,而不是自己查询值。
发布于 2020-03-17 06:27:46
在表中设置单元格值时,我遇到了类似的问题。
我将数据添加如下:
document.getElementById("table_id").rows[0].cells[0].innerHTML = "data_to_be_added";我得到了以下错误:
错误TS2339:属性'HTMLElement‘在类型’HTMLElement‘上不存在 “HTMLElement”类型上不存在属性“单元格”
因此,我添加了下面的标记,错误得到了解决。
(document.getElementById("table_id") as any).rows[0].cells[0].innerHTML = "data_to_be_added";在这里,您将隐式地更改变量的类型。
发布于 2017-07-11 07:40:55
您应该使用:[(ngModel)]='yourValue'将数据绑定到控制器。Textarea不使用value参数。
请阅读更多关于HTML及其属性招租的信息。
https://stackoverflow.com/questions/45028233
复制相似问题