Ваша функция сейчас ничего не возвращает. Единственные операторы возврата, которые у вас есть, находятся в цикле jQuery. return false
- это, по сути, разрыв цикла $.each()
. Который затем возвращается к вашей главной функции (checkStatuses()
), которая достигает конца кодового блока без какого-либо оператора возврата. Наличие возвращаемой переменной может помочь:
function checkStatuses(){
var result = true; //assume correct unless we find faults
$('.status').each(function (){
thisStatus = $(this).val().toLowerCase();
thisOrig_status = $(this).next('.orig_status').val().toLowerCase();
target = $(this).parents('td').nextAll('td:first').find('.datepicker');
if ( thisStatus == thisOrig_status )
{
target.val('');
}
else if( thisStatus == 'production' || thisStatus == 'production w/o appl')
{
target.val('<cfoutput>#dateformat(now(), "mm/dd/yyyy")#</cfoutput>').focus();
alert('The Status Effective Date is required.');
result = false; //set to false meaning do not submit form
return false;
}
else
{
target.val('<cfoutput>#dateformat(now(), "mm/dd/yyyy")#</cfoutput>');
result = false; //set to false meaning do not submit form
return false;
}
});
return result; //return the result of the checks
}