关于表单页面提交信息的判断

一开始提交按钮是disabled的, 我想让所有信息都符合条件了,按钮才可以点击.
输入框是失去焦点时判断的.
该怎么写状态标记flag?

$(function() {
    var flag = false;
    $('#txt1').blur(function() {
        if('不符合条件') {
            alert('提示');
        }
    });
    $('#txt2').blur(function() {
        if('不符合条件') {
            alert('提示');
        }
    });
    $('#txt3').blur(function() {
        if('不符合条件') {
            alert('提示');
        }
    });
})
阅读 2.5k
3 个回答
$(function() {
    $('#txt1, #txt2, #txt3').blur(checkAndDisable);
    function checkAndDisable(){
       // ...获取txt1,txt2,txt3的文本,检查,然后根据结果disable提交按钮
    }
})
$('#txt1').blur(function() {
   vali();
});
$('#txt2').blur(function() {
    vali();
});
$('#txt3').blur(function() {
    vali();
});
......

function vali(){
    var flag = true;
    
    if('不符合条件') {
        flag  = false;
    }
    
    if('不符合条件') {
        flag  = false;
    }
    
    ......
    
    if (flag){
        // 按钮可以点击了
    }

}

这太不优雅了。其实有很多不错的前端校验框架的,网上找找很多的。

$(function() {
    var flag = true;
    $('#txt1,#txt2,#txt3').blur(function() {
        check();
    });
    
    function check() {
        var flag = true;
        if('不符合条件1') {
            flag = false;
            alert('提示');
        }
        if('不符合条件2') {
            flag = false;
        }
        if('不符合条件3') {
            flag = false;
        }
        // 所有条件都满足 flag 还是true
        if (flag) {
            // do something
        }
    }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题