我正在研究一种检索表单中隐藏输入数组的方法,就像这样
<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)”
但是 if 函数似乎无法处理:
我试过:
(timetemp[0].value == null)
(timetemp[0].value === null)
(timetemp[0].value == undefined)
(timetemp[0].value == '')
它似乎总是默认为 else 子句。
有什么想法吗?
最佳答案
评论作为答案:
if (timetime[0].value)
这是有效的,因为 JS 中的任何变量都可以被评估为 bool 值,所以这通常会捕获空的、空的或未定义的东西。
关于javascript - 如何检查 Javascript 中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997187/