检查一个空数组

时间:2016-10-28 02:45:16

标签: javascript jquery forms

我需要检查输入数组是否为空。这是一个可放置的区域。用户在名称内删除,然后保存。 这是占位符:

<div class="procLeader">
<label>Leader:</label>  
<ol>
    <li class="placeholder"><div class="adding">Drop Here</div></li>
</ol>
</div>

在将项目放入占位符后,我将使用函数保存名称:

var LISTOBJ3 = {
  saveList: function() {
    $(".procLeader").each(function() {
      var listCSV = [];
      $(this).find("li").each(function() {
        listCSV.push($(this).text());
      });
      var values = '' + listCSV.join(', ') + '';
      $(".output").append("<input type='text' name='procLeader[]' value='" + values + "' />");
      $("#output").append("<p>" + values + "</p>");
      console.debug(listCSV);
    });
  }
}

所以我需要检查输入procleader[]是否为空。我试图通过使用javascript:

这样做
var procLeader = document.forms["myForm"]["procLeader[]"].value;
if (procLeader == null || procLeader == "" || procLeader == "Drop Here") {
    alert("Please fill Process Leader Field");
    return false;
}

但即使项目被删除,它仍然会给我警告。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

这是一个解决方案:

if (procLeader === false) {...} 
// will catch the empty array.

procLeader == null
// catches null input.  

procLeader == "Drop Here"
// will catch the default input. 

答案 1 :(得分:-1)

这是PHP的空()方法

的javascript等价物
function empty (mixed_var) {
// version: 909.322
// discuss at: http://phpjs.org/functions/empty
var key;
if (mixed_var === "" || mixed_var === 0 || mixed_var === "0" || 

mixed_var === null || mixed_var === false || mixed_var === undefined ) {
        return true;
    }
    if (typeof mixed_var == 'object') {
        for (key in mixed_var) {
            return false;
        }
        return true;
    }
    return false;
}