I have found that when you give a value to another field that you want to then pass onto another that it wont do it as the other field has not had focus for the event to execute.
If you want to populate Date2 and a TextField, you might have to set the rawValues for both in the change event for Date1.