当用户在第一个输入字段中输入了最大长度的字符时,我希望能将焦点从该输入字段移至另一个输入字段。因此,在下面的示例中,当用户输入2个字符到"day"输入框中,焦点会自动切换到"month"输入框。
目前我的代码如下:
<input formControlName="day" maxlength="2" placeholder="DD" type="text" (keyup)="keytab($event)" />
<input formControlName="month" maxlength="2" placeholder="MM" type="text" (keyup)="keytab($event)" />
<input formControlName="year" maxlength="4" placeholder="YYYY" type="text" />
而在我的TS文件中:
keytab(event){
let nextInput = event.srcElement.nextElementSibling; // get the sibling element
var target = event.target || event.srcElement;
var id = target.id
console.log(id.maxlength); // prints undefined
if(nextInput == null) // check the maxLength from here
return;
else
nextInput.focus(); // focus if not null
}
我知道我的TS文件中的代码是错误的,但我一直在尝试找到一种获取maxLength属性并移动焦点的方法。现在只要输入框中有keyup事件,焦点就会移动。
请问有人能告诉我如何从keytab函数中访问输入框的maxLength属性吗?谢谢。
我正在使用Angular 4。
编辑 - 我正在尝试获取maxLength值,然后将其与输入值长度进行比较。如果输入值更多,则将焦点移到输入框。
<input type="date">
。 - Endless