parent
f682234a3c
commit
ed3dc374b4
@ -1,14 +1,30 @@
|
|||||||
const codes = document.querySelectorAll('.code')
|
const codes = document.querySelectorAll('.code')
|
||||||
|
const info = document.querySelector('.info')
|
||||||
|
let notice = ''
|
||||||
|
|
||||||
codes[0].focus()
|
codes[0].focus()
|
||||||
|
|
||||||
codes.forEach((code, idx) => {
|
codes.forEach((code, idx) => {
|
||||||
code.addEventListener('keydown', (e) => {
|
code.addEventListener('keydown', (e) => {
|
||||||
if(e.key >= 0 && e.key <=9) {
|
|
||||||
|
if (e.keyCode == '32') {
|
||||||
|
if (idx != 0) setTimeout(() => codes[idx - 1].focus(), 10)
|
||||||
|
} else if (e.key >= 0 && e.key <= 9) {
|
||||||
codes[idx].value = ''
|
codes[idx].value = ''
|
||||||
setTimeout(() => codes[idx + 1].focus(), 10)
|
if (idx < codes.length - 1) setTimeout(() => codes[idx + 1].focus(), 10)
|
||||||
} else if(e.key === 'Backspace') {
|
} else {
|
||||||
setTimeout(() => codes[idx - 1].focus(), 10)
|
console.log(e.key);
|
||||||
|
//Block input if it's not a number
|
||||||
|
e.preventDefault();
|
||||||
|
info.classList.add('error');
|
||||||
|
info.innerHTML = 'You can only enter numbers!'
|
||||||
|
|
||||||
|
//If you do not clear the timer, holding it down will cause too many timers to start
|
||||||
|
clearTimeout(notice)
|
||||||
|
notice = setTimeout(() => {
|
||||||
|
info.classList.remove('error');
|
||||||
|
info.innerHTML = `'This is design only. We didn't actually send you an email as we don't have your email, right?'`
|
||||||
|
}, 1000)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
Loading…
Reference in new issue