检查输入字段的验证已更改

时间:2013-10-06 06:18:34

标签: jquery

我正在自定义我的代码。这是html

<div><input type="text" id="phone" /></div>
<div><input type="text" id="name" /></div>

jquery的

    function checkvalid(id){
        if(id == $('#phone')){
            if($('#phone').val() != ''){
                if(!$.isNumeric($('#phone').val())){
                    $('#phone').closest('div').append('<p id="text_phone" class="validate">Not a Valid Number</p>');
                    $('#phone').next('.validate').hide().fadeIn(2000);


                }}}
    }

    $('input').each(function(){
                $(this).change(function(){
                        var chkid = $(this).attr('id');
                        checkvalid(chkid);
                        //$(this).next('.validate').fadeToggle(2000);



                });
});

demo

但似乎没有改变功能......

2 个答案:

答案 0 :(得分:1)

试试这个:

function checkvalid(id) {
    console.log(id);
    if (id == 'phone' && $('#phone').val() != '') {
        if (!$.isNumeric($('#phone').val())) {
            $('#phone').closest('div').append('<p id="text_phone" class="validate">Not a Valid Number</p>');
            $('#phone').next('.validate').hide().fadeIn(2000);
        } else {
            $('#phone').next('.validate').hide(1000);
        }
    }
}

$('input').change(function () {
    var chkid = $(this).attr('id');
    checkvalid(chkid);
    //$(this).next('.validate').fadeToggle(2000);
});

演示here

我改变了两件事:

  • Use if (id == 'phone') {不是if(id == $('#phone')){
  • 我简化了您.change(),不需要.each()

答案 1 :(得分:0)

试试这个

function checkvalid(id) {
    if (id == "phone" && $('#phone').val() != '') {
        if (!$.isNumeric($('#phone').val())) {
            alert("is not numeric");
            $('#phone').closest('div').append('<p id="text_phone" class="validate">Not a Valid Number</p>');
            $('#phone').next('.validate').hide().fadeIn(2000);
        }
    }
}


$('input').on('change', function () {
    var chkid = $(this).attr('id');
    checkvalid(chkid);
    //$(this).next('.validate').fadeToggle(2000);
});

我做的改变

  • id == 'phone'代替id == $('#phone')
  • 不需要each,只需与输入绑定
  • 我已将on用于事件委派

Demo