Jquery-textfield不清除正确,如果我给val函数后警报消息



目前我正在做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

最新更新