moveFocus(event, nextElement, previousElement) {
console.log(event.keyCode);
if (event.keyCode === 8 && previousElement) {
previousElement.setFocus();
} else if (event.keyCode >= 48 && event.keyCode <= 57) {
if (nextElement) {
nextElement.setFocus();
}
} else if (event.keyCode >= 96 && event.keyCode <= 105) {
if (nextElement) {
nextElement.setFocus();
}
} else {
event.path[0].value = '';
}
}
.otp-box{
margin-top: 23px;
margin-right: 5px;
h2{
margin: 0;
font-size: 12px;
color: #b6b6be;
}
ion-input{
text-align: center;
border: 1px solid #e1e5e8;
border-radius: 5px;
margin-top: 8px;
font-size: 14px;
padding: 3px !important;
padding-left: 0px !important;
color: #383838;
font-weight: 600;
--padding-start: 0;
}
&:last-child{
margin-top: 23px;
margin-right: 0px;
}
}
<ion-grid>
<ion-row class="otp-box">
<ion-col>
<div>
<ion-input name="a" #a (keyup)="moveFocus($event,b,'')" type="tel" placeholder="0" maxlength="1">
</ion-input>
</div>
</ion-col>
<ion-col>
<div>
<ion-input name="b" #b (keyup)="moveFocus($event,c,a)" type="tel" placeholder="0" maxlength="1">
</ion-input>
</div>
</ion-col>
<ion-col>
<div>
<ion-input name="c" #c (keyup)="moveFocus($event,d,b)" type="tel" placeholder="0" maxlength="1">
</ion-input>
</div>
</ion-col>
<ion-col>
<div>
<ion-input name="d" #d (keyup)="moveFocus($event,e,c)" type="tel" placeholder="0" maxlength="1">
</ion-input>
</div>
</ion-col>
<ion-col>
<div>
<ion-input name="e" #e (keyup)="moveFocus($event,f,d)" type="tel" placeholder="0" maxlength="1">
</ion-input>
</div>
</ion-col>
<ion-col>
<div>
<ion-input name="f" #f (keyup)="moveFocus($event,'',e)" type="tel" placeholder="0" maxlength="1">
</ion-input>
</div>
</ion-col>
</ion-row>
</ion-grid>