我有简单的输入不能得到输入离子值3
<input type="number" maxlength=1 id="1"/>
和简单的JS在我的.ts文件
console.log(document.getElementById("1").value);
,但我得到一个错误
Property 'value' does not exist on type 'HTMLElement'
我有简单的输入不能得到输入离子值3
<input type="number" maxlength=1 id="1"/>
和简单的JS在我的.ts文件
console.log(document.getElementById("1").value);
,但我得到一个错误
Property 'value' does not exist on type 'HTMLElement'
那么首先你应该避免直接角,随后在离子,这是不好的性能,使你的代码少维护访问DOM的。
相反,你添加一个ngModel
您输入元素:
<ion-input [(ngModel)]="myInput"></ion-input>
和实例变量添加到您的.ts
文件:
public myInput;
你ngModel
变量将有你的输入字段的值。您可以通过例如添加ionChange
事件侦听器添加到输入的更改记录到它:
<ion-input [(ngModel)]="myInput" (ionInput)="logChange($event)"></ion-input>
而在你.ts
文件中添加的方法吧:
logChange(event) {
console.log(event);
}
您需要投射到HTMLInputElement(HtmlInputElement)。这是因为常规HTMLElements没有值属性。
console.log(<HTMLInputElement>document.getElementById("1").value);
P.S.鉴于您使用的是Ionic 3,我假设您也使用Angular,并且有更好的方法来抓取dom元素,例如ViewChild。
由于您没有给出value
属性输入number
,您将得到未定义的属性。
要么在元素中定义属性,要么在事件发生时将其提取出来。
<input type="number" maxlength=1 id="1" />
<button onclick="bclick()">Click</button>
<script>
function bclick(){
console.log(document.getElementById("1").value);
}
</script>
我知道这段代码在浏览器中工作,但在我的离子应用程序中它不工作(。代码正在调用按钮提交。 – ItsMyLife
它不建议设置编号。 –
@MohamedAbbas它只是例如 – ItsMyLife
它的错误,只使用科尔多瓦,因为因为你不想使用角 –