簡體   English   中英

檢查一個空數組

[英]Check for an empty array

我需要檢查輸入數組是否為空。 這是一個可放置區域。 用戶將名稱放入內部,然后保存。 這是占位符:

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

但是,即使物品掉落,它也會一直警告我。 我怎么解決這個問題?

這與PHP的empty()方法的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;
}

這是一個解決方案:

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

procLeader == null
// catches null input.  

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM