This can be done in many ways, but I will tell you easiest way:
Your function error_appname(inputField, erSpan), requires 2 argument, so maintain global arrays for those.
// Global arrays used to hold input fileds and error spans
var inputFieldArray = [];
var erSpanArray = [];
function addRow()
{
// Some of your code
gl.type = 'text';
gl.name = 'application_doj' + iteration;
gl.id = 'application_doj' + iteration;
gl.size = 45;
gl.className='cellData';
gl.style.width='220px'
gl.style.height='17px'
gl.value='mm/dd/yyyy'
// Removed your handlers from here and putted it below
cellLeft.appendChild(gl);
document.getElementById("no_of_applications").value=iteration
//Adding span for showing validation error
var erSpan = document.createElement('span');
// Add error span to this cell.
cellLeft.appendChild(erSpan);
// Here goes ur handler
gl.onfocus= function() {gl.value=""};
gl.onblur= function() {ValidateForm(erSpan)}; // Passing erSpan, so that we can easily show error message
// Push elements in global arrays
inputFieldArray.push(gl);
erSpanArray.push(erSpan);
}
Now the function to validate all fields will be:
function validateAll() {
var totalRows = inputFieldArray.length; // OR erSpanArray.length
for(var i = 0; i < totalRows; i++) {
error_appname(inputFieldArray[i], erSpanArray[i]);
}
}