目前我正在做jquery验证。这里我有两个文本字段,用户只能输入数字,如果用户试图输入错误的字母,它应该只输入数字。
与我目前的代码,这是工作得很好,但文本不能正确清除。
这里是jquery代码 $('.txt_CC').on('change',function(e){
var len = $('#txt_CC').val().length;
if(len == 1){
$('.cc_field').val( '00' + $('.cc_field').val());
}else if(len == 2){
$('.cc_field').val('0'+ $('.cc_field').val() );
}else if(len == 3){
}
});
$('.txt_CC').keypress(function(e){
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
//display error message
$('.txt_CC').val('');
alert("Digit only");
}
});
请告诉我我的代码是否正确
这是html
的链接Thanks in advance
DEMO
如果它是一个字符,您可以通过阻止文本输入而不是清除它来执行e.preventDefault()
。例:
$('.txt_CC').keypress(function(e){
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
e.preventDefault();
alert("Digit only");
}
});
只需将phone number
元素类也添加到keypress
事件中,如下所示:
$('.txt_CC,.pn_field').keypress(function(e){
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
e.preventDefault();
alert("Digit only");
}
});
您正在使用keypress更改keyup。onKeyPress与onKeyUp和onKeyDown