У меня есть 4 input у них есть ограничение на ввод только одной цифры . Есть функция благодаря которой при заполнение первого input сразу переключается на другой input . Но у этой функции есть недостаток
Если нажать backspace, предыдущие поля не очищаются и не фокусируются. Вопрос как это всё убрать ? Заранее спасибо.
Вот код:
function testJump(x){
let ml = ~~x.getAttribute('maxlength');
if(ml && x.value.length >= ml){
do{
x = x.nextSibling;
}
while(x && !(/text/.test(x.type)));
if(x && /text/.test(x.type)){
x.focus();
}
}
}
<div >
<InputMask className="form-control" maxlength="1" mask="9" maskChar="" onChange={e => testJump(e.target)} alwaysShowMask type="text" />
<InputMask className="form-control" maxlength="1" mask="9" maskChar="" onChange={e => testJump(e.target)} alwaysShowMask type="text" />
<InputMask className="form-control" maxlength="1" mask="9" maskChar="" onChange={e => testJump(e.target)} alwaysShowMask type="text" />
<InputMask className="form-control" maxlength="1" mask="9" maskChar="" onChange={e => testJump(e.target)} alwaysShowMask type="text" />
</div>
)}