我使用的脚本检查某个字段是否有效,如果没有,则会禁用表单提交按钮并添加红色边框;
$('.date').on('change', function(){
var txtVal = $(this).val();
if(isDate(txtVal)) {
$(this).css('border', '1px solid #000');
$(".submit").attr('disabled' , false);
} else {
$(this).css('border', '1px solid red');
$(".submit").attr('disabled' , true);
}
});
问题是我有多个这些字段。如果用户使两个字段无效(变为空白),然后更正一个字段,则启用提交按钮。因为脚本会检查这个'条件,不是全部。我想只在启用了提交按钮,如果所有.date类都有效。
关于如何实现这一目标的任何想法?
答案 0 :(得分:2)
试试这个:
$('.date').on('change', function() {
var valid = true;
$.each($('.date'), function(i, v) {
var $v = $(v);
if (!isDate($v.val())) {
valid = false;
$v.css('border', '1px solid red');
} else {
$v.css('border', '1px solid #000');
}
});
if (valid) {
$(".submit").attr('disabled', false);
} else {
$(".submit").attr('disabled', true);
}
});
<强> Demo Link 强>
答案 1 :(得分:1)
$('.date').on('change', function(){
var numInvalid = 0;
$('.date').each(function(index){
var txtVal = $(this).val();
if(!isDate(txtVal)) {
numInvalid++;
$(this).css('border', '1px solid red');
} else {
$(this).css('border', '1px solid #000');
}
});
if(numInvalid == 0) {
$(".submit").attr('disabled' , false);
} else {
$(".submit").attr('disabled' , true);
}
});
这里我们在更改一个日期字段时查看每个日期字段,并计算返回无效值的数字。最后,我们看看计数是否&gt;如果是,则禁用提交按钮0。