以下是一些代码,用于确保如果具有属性data-fill="fill"
的输入的值等于'',则人们无法提交。我的问题是它从第一个到最后一个输入检查IF
语句。这意味着如果第一个输入有值,表单将提交;如果前两个输入被填充,它将提交等等......如果没有填充第一个输入,它对其他输入工作正常。是否可以确保在返回true或false之前检查所有输入?
$('form').submit(function() {
var input = $('input, textarea');
if (input.data('fill') == 'fill' && input.val() == '') {
return false;
}
});
我知道我可以通过使用“else if”单独定位每个输入来解决此问题,但这似乎是错误的方法。
答案 0 :(得分:3)
要考虑所有input
值,请使用each
方法。
$('form').submit(function() {
var allFilled = true;
$('input, textarea').each(function () {
if ($(this).data('fill') === 'fill' && $(this).val() === '') {
allFilled = false;
}
});
return allFilled;
});