Javascript jQuery空输入检查函数未按预期工作
这个问题已经被问得死去活来了,我真的,真的很抱歉!我已经从几个关于同一主题的问题中提取了以下想法的要点 尽管如此,我仍然无法让它按预期工作Javascript jQuery空输入检查函数未按预期工作,javascript,jquery,Javascript,Jquery,这个问题已经被问得死去活来了,我真的,真的很抱歉!我已经从几个关于同一主题的问题中提取了以下想法的要点 尽管如此,我仍然无法让它按预期工作 如果没有填写,则工作正常 如果填写的是结束输入,而不是其他输入,则工作正常 如果填写中间输入,则工作正常 如果您只填写第一个输入,它会发出警报,但仍会提交 我确信这是一件非常明显的令人尴尬的事情,但是在一天16个小时之后,我就是看不到。感谢您的帮助……试试看 if(document.getElementById('id of input').value
- 如果没有填写,则工作正常李>
- 如果填写的是结束输入,而不是其他输入,则工作正常李>
- 如果填写中间输入,则工作正常李>
- 如果您只填写第一个输入,它会发出警报,但仍会提交
if(document.getElementById('id of input').value != ""){}
您需要将“未完成”检查拉到
之外。每个
$(document).ready(function (e) {
// completed count submit handler
$("#submit_counts_button").on('click', function () {
window.incomplete = false;
$('input[type=number]').each(function () {
if ($(this).val().length == 0) {
window.incomplete = true;
alert('Some fields are empty');
return false;
}
});
if (window.incomplete === false) {
$("#submit_counts_button").prop('disabled', true);
$("#submit_counts_button").html('Please Wait ...');
//$("#update_form").submit();
}
});
});
绝望地摇摇头我说这将是令人尴尬的显而易见。。。我想今天我应该把键盘放下。谢谢你,迈克尔。那太整洁了。而且也更符合逻辑。非常感谢您抽出时间;我真的很感激。工作起来很有魅力!我很快就会接受这个答案。。。显然还有5分钟。在each()
内部,它会对元素进行迭代,因此如果遇到没有值的输入,它将转到条件的第一部分,而返回false
将返回到each()
,因此迭代停止。如果遇到的第一个元素有一个值,它将继续到条件的else部分并提交表单,而不管其他输入包含什么,因此整个概念都是有缺陷的。@adeneo满头都是“应该如何做”(接受的答案),我现在完全可以看出我的错误。你的解释很有道理请详细说明你的答案。这如何解决OP的问题?
$(document).ready(function (e) {
// completed count submit handler
$("#submit_counts_button").on('click', function () {
window.incomplete = false;
$('input[type=number]').each(function () {
if ($(this).val().length == 0) {
window.incomplete = true;
alert('Some fields are empty');
return false;
}
});
if (window.incomplete === false) {
$("#submit_counts_button").prop('disabled', true);
$("#submit_counts_button").html('Please Wait ...');
//$("#update_form").submit();
}
});
});