fix(kiosko): bloquear Tab del escáner para que no salte al campo WhatsApp
El lector de cédula envía los campos con Tab entre ellos. Se previene el cambio de foco en keydown. Si algo llega igualmente a inp-cel (letras) se limpia y regresa el foco a la cédula. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
24211de0e9
commit
f8903a4982
@@ -551,7 +551,12 @@ unset($p);
|
||||
});
|
||||
|
||||
// El lector casi siempre envía Enter al final → disparar de inmediato.
|
||||
// Tab entre campos del código de barras: prevenir que el browser cambie el foco.
|
||||
_inpCedula.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Tab') {
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
if (e.key === 'Enter') {
|
||||
e.preventDefault();
|
||||
const val = _inpCedula.value.trim();
|
||||
@@ -559,6 +564,19 @@ unset($p);
|
||||
}
|
||||
});
|
||||
|
||||
// Si el Tab escapó y algo llegó al campo WhatsApp, limpiarlo.
|
||||
document.getElementById('inp-cel').addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Tab') e.preventDefault();
|
||||
});
|
||||
document.getElementById('inp-cel').addEventListener('input', () => {
|
||||
const v = document.getElementById('inp-cel').value;
|
||||
// Si contiene letras → vino del escáner, limpiar y devolver foco a cédula
|
||||
if (/[a-zA-Z]/.test(v)) {
|
||||
document.getElementById('inp-cel').value = '';
|
||||
_inpCedula.focus();
|
||||
}
|
||||
});
|
||||
|
||||
function resetInactividad() {
|
||||
clearTimeout(_timerInactividad);
|
||||
_timerInactividad = setTimeout(() => {
|
||||
|
||||
Reference in New Issue
Block a user