我正在研究一种检索表单中隐藏输入数组的方法,如下所示

<input type="hidden" value="12:34:00" name="timetemp0">
<input type="hidden" value="14:45:00" name="timetemp1">
<input type="hidden" value="15:12:00" name="timetemp2">
<input type="hidden" value="16:42:12" name="timetemp3">
<input type="hidden" value="16:54:56" name="timetemp4">
<input type="hidden" value="17:03:10" name="timetemp5">

我的JavaScript函数通过使用getElementsByName('timetemp'+ i)分别检索这些
    for (i ; i < counter[0].value; i++)
        {
//finds hidden element by using concatenation of base name plus counter

var timetemp = document.getElementsByName('timetemp'+i);

//if there is a value alert that value to user - this is just for testing purposes at the moment
//because there is only one of timetemp.i then it occupies position 0 in array
            if (timetemp[0].value == null)
            {
                alert ('No value');

            }
            else
            {
                alert (timetemp[0].value);

            }
}

因此,应该发生的是它将警告用户该隐藏输入中的值,但是如果它遇到没有值的输入,则如下所示:
<input type="hidden" value="" name="timetemp16">

然后会说“没有值(value)”

但是,如果函数似乎无法与此一起工作:

我努力了:
  • (timetemp[0].value == null)
  • (timetemp[0].value === null)
  • (timetemp[0].value == undefined)
  • (timetemp[0].value == '')

  • 似乎总是默认为else子句。

    有任何想法吗?

    最佳答案

    评论作为答案:

    if (timetime[0].value)
    

    之所以可行,是因为JS中的任何变量都可以被评估为 bool(boolean) 值,因此通常可以捕获为空,空值或未定义的内容。

    09-16 20:22