There are instances where the users would like to retrieve field values on the before submit trigger. In this situation, using nlapiGetFieldValue to return values would return null.
What could be done on this type of scenarios is to make use of nlapiGetOldRecord instead.
Below is a sample code that may serve as a guide:
var sourceVal_before = nlapiGetOldRecord().getFieldValue('source');
nlapiLogExecution('DEBUG','sourceVal_before', sourceVal_before );