sqlmole sqlmole - 2 months ago 7
HTML Question

How to check for empty value in Javascript?

I am working on a method of retrieving an array of hidden inputs in my form like so

<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">


My javascript function retrieves these individually by using 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);

}
}


So what should happen is it will alert the user of the value in that hidden input but if it comes accross an input with no value like this:

<input type="hidden" value="" name="timetemp16">


Then it will say "No value"

However th if function cannot seem to work with this:

I have tried:


  1. (timetemp[0].value == null)

  2. (timetemp[0].value === null)

  3. (timetemp[0].value == undefined)

  4. (timetemp[0].value == '')



It always seems to default to else clause.

Any ideas?

Answer

Comment as an answer:

if (timetime[0].value)

This works because any variable in JS can be evaluated as a boolean, so this will generally catch things that are empty, null, or undefined.

Comments