Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery空输入检查函数未按预期工作_Javascript_Jquery - Fatal编程技术网

Javascript jQuery空输入检查函数未按预期工作

Javascript jQuery空输入检查函数未按预期工作,javascript,jquery,Javascript,Jquery,这个问题已经被问得死去活来了,我真的,真的很抱歉!我已经从几个关于同一主题的问题中提取了以下想法的要点 尽管如此,我仍然无法让它按预期工作 如果没有填写,则工作正常 如果填写的是结束输入,而不是其他输入,则工作正常 如果填写中间输入,则工作正常 如果您只填写第一个输入,它会发出警报,但仍会提交 我确信这是一件非常明显的令人尴尬的事情,但是在一天16个小时之后,我就是看不到。感谢您的帮助……试试看 if(document.getElementById('id of input').value

这个问题已经被问得死去活来了,我真的,真的很抱歉!我已经从几个关于同一主题的问题中提取了以下想法的要点

尽管如此,我仍然无法让它按预期工作

  • 如果没有填写,则工作正常
  • 如果填写的是结束输入,而不是其他输入,则工作正常
  • 如果填写中间输入,则工作正常
  • 如果您只填写第一个输入,它会发出警报,但仍会提交

我确信这是一件非常明显的令人尴尬的事情,但是在一天16个小时之后,我就是看不到。感谢您的帮助……

试试看

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();
        }
    });
});