Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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的JS函数始终返回未定义_Javascript_Jquery_Return Value - Fatal编程技术网

Javascript 带有jquery的JS函数始终返回未定义

Javascript 带有jquery的JS函数始终返回未定义,javascript,jquery,return-value,Javascript,Jquery,Return Value,我正在构建一个Js函数,使用Jquery检查某些输入是否为空,以进行验证。以下是检查输入是否为空的函数: function isValid(elements){ var validation = false elements.each(function() { if ($( this ).val().length > 0){ validation = true } else {

我正在构建一个Js函数,使用Jquery检查某些输入是否为空,以进行验证。以下是检查输入是否为空的函数:

   function isValid(elements){
      var validation = false
      elements.each(function() {
        if ($( this ).val().length > 0){
          validation = true
        }
        else {
          validation
        }
      });
      validation
    }
但是,无论我做什么,我的函数都会返回未定义的值,而且永远不会返回验证变量中应该包含的布尔值


我应该怎么做才能使函数返回true或false?

您的函数
isValid()
返回未定义,因为这是JavaScript中的预期行为:如果函数未指定一个返回值,且您的函数
isValid()
没有任何返回,则未定义是“默认”返回值


选中。

如果至少有一个元素为空,则可以返回false,否则返回true

function isValid(elements){
  var validation = true;

  elements.each(function() {
    if ($( this ).val().trim().length === 0){
      validation = false;
    }
  });

  return validation;
}

通过使用
Array#some
,您可以执行如下代码:

function isValid(elements) {
 return !Array.from(elements).some(function(itm){ itm.value.trim().length == 0 });
}

您根本没有从函数返回任何内容,这意味着将返回默认返回值
未定义的

您将为元素传递什么?您根本没有从函数返回任何内容。您认为
验证
行在做什么?你的逻辑也有缺陷。验证很可能没有达到您希望的效果。事实上,我以为上次验证返回的是布尔值,但现在我明白我需要在
中使用returnreturn false,每个
都将充当中断语句。您可能还希望在长度检查中添加
trim()
,否则,用空格填充字段将是有效的