我在下面有此代码,它可以按预期工作,但是我需要传递每个人的ID才能工作。
如何将其转换为使用onKeyPress
事件的函数:
document.getElementById('inp').addEventListener('input', e => {
const val = e.target.value.replace(/\D/g, '').replace(/^0*/, '').padStart(3, '0')
e.target.value = val.slice(0, -2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.') + ',' + val.slice(-2)
})
我想将其用作:function Mask(){ // code }
<input asp-for="Frete" name="Frete" onKeyPress="return(Mask(this,'.',',',event))" class="form-control" />
要能够使用function
,因此我需要通过id
逐个创建
答案 0 :(得分:2)
在这里,您可以使用event
对象,如:
document.getElementById('inp1').addEventListener('input', (e) => { Mask(e, 'inp1'); });
document.getElementById('inp2').addEventListener('input', (e) => { Mask(e, 'inp2'); });
document.getElementById('inp3').addEventListener('input', (e) => { Mask(e, 'inp3'); });
function Mask(e, id) {
const target = document.getElementById(id);
const val = target.value.replace(/\D/g, '').replace(/^0*/, '').padStart(3, '0');
target.value = val.slice(0, -2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.') + ',' + val.slice(-2);
}
<input id="inp1">
<input id="inp2">
<input id="inp3">