sqlmole sqlmole - 6 months ago 27
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');

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?


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.