下面是一些代码,用于确保如果具有属性 data-fill="fill"
的输入值等于 '',人们就无法提交。我的问题是它从第一个输入到最后一个输入检查 IF
语句。这意味着如果第一个输入有值,则表单将提交;如果前两个输入已填充,它将提交,依此类推...如果第一个输入未填充,则它适用于其他输入。是否可以确保它在返回 true 或 false 之前检查所有输入?
$('form').submit(function() {
var input = $('input, textarea');
if (input.data('fill') == 'fill' && input.val() == '') {
return false;
}
});
我知道我可以通过使用“else if”单独定位每个输入来解决这个问题,但这似乎是错误的方法。
最佳答案
要考虑所有输入
值,请使用each
方法。
$('form').submit(function() {
var allFilled = true;
$('input, textarea').each(function () {
if ($(this).data('fill') === 'fill' && $(this).val() === '') {
allFilled = false;
}
});
return allFilled;
});
关于javascript - 如果类型的第一个选择器返回 true,则 if 语句返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878002/