我正在检查用户提交表单以检查所有输入是否已填充,但即使我返回以逃避该功能,我的代码也会继续。
function save(e) {
$('#storename, #offer').each(function() {
if ($(this).val() == '') {
alert("Please fill in all the required fields.");
return false;
}
});
//Don't Run Below if inputs are empty..
}
答案 0 :(得分:4)
您可以使用标志来检查有效性
function save(e) {
var valid = true;
$('#storename, #offer').each(function () {
if ($(this).val() == '') {
alert("Please fill in all the required fields.");
valid = false;
return false;
}
});
if (!valid) {
return false;
}
//Dont Run Bellow if inputs are empty..
}
从each
循环返回时,您只是从each callback
方法返回,而不是从save
方法返回。您可以使用标记来检查字段是否有效,如上所示,如果需要,可以使用它从save
返回
答案 1 :(得分:1)
function save(e) {
var empty = false;
$('#storename, #offer').each(function() {
if ($(this).val() == '') {
alert("Please fill in all the required fields.");
empty = true;
}
});
if(empty) return false;
//Dont Run Bellow if inputs are empty..
}
您实际上并未从save(e)
函数返回任何值。现在返回的唯一函数是each()
内的匿名函数。您需要处理匿名函数之外的空字段信息,如上所述。
答案 2 :(得分:0)
我迟到了,但超级优雅。)
function save(e) {
return !$.grep($('#storename, #offer'), function(el){
return !$(el).val()}
).length;
}