Buonasera, come da titolo ho la necessità di fare in modo che un campo di testo accetti solamente numeri e che non ci sia modo per inserire altro, neanche il vuoto, che in caso dev'esere sostituito dallo 0.
Ho fatto questo ma funziona a fasi alterne. Non capisco ancora come alcune volte riesco a scriverci testo ed altre no.
Qualcuno ha qualche idea su come posso perfezionarlo per evitare il problemi?
Ho fatto questo ma funziona a fasi alterne. Non capisco ancora come alcune volte riesco a scriverci testo ed altre no.
JavaScript:
let el = document.querySelectorAll('[id^="prod-quant-"]');
el.forEach(item => {
item.addEventListener('input', event => {
if (item.value.length > 0) {
item.value = parseInt(item.value.replace(/[^0-9]/g, ''), 10); // parseInt per trasformare numeri tipo 01 -in-> 1
item.dataset.quant = parseInt(item.value.replace(/[^0-9]/g, ''), 10);
} else {
item.value = 0;
item.dataset.quant = 0;
}
});
});