ユーザーが最初の入力フィールドにmaxLength分の文字を入力したときに、入力フィールドから別の入力フィールドにフォーカスを移動します。したがって、以下の私の例では、ユーザーが1日入力に2文字を入力すると、フォーカスは月入力に移動します。maxLengthに達すると、入力フォーカスを次の入力に移動します。 - 角4/Typescript
これは、これまでの私のコードです:
<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プロパティを取得してからフォーカスを移動します。現在、入力フィールドにキーアップがあるとすぐにフォーカスが移動します。
keytab関数から入力maxLengthプロパティにアクセスする方法を教えていただけますか?ありがとう。
私はを使用しています。アングル4です。
編集 - 私はmaxLength値を取得し、入力値の長さと比較しようとしています。入力値が大きい場合は、フォーカスを入力フィールドに移動します。
[別の入力にフォーカスを設定するにはどうすればいいですか?](https://stackoverflow.com/questions/31582113/how-can-i-set-focus-to-another-input) –
いいえ - 私はシフトの焦点部分が働いていると言った - 私はmaxLengthにアクセスする方法を知らない。しかし、リンクのおかげで。興味深い情報がそこにあります。 –