Try an OnModify trigger. It works well with popups, as you only modify it once, when you let go.
Just found this:
"Interaction with popup menus, list, calendar, and auto-complete
A popup menu blocks other events from occurring. Therefore, an OnObjectEnter
script trigger will not run a script until after the menu is dismissed. The layout
object will not register that a change has occurred until an item is picked and the
menu is closed. Therefore, OnObjectModify, Save, and Exit scripts run afterwards
and will not interact with the popup menu."
So capturing a field's data upon entry when a popup menu is employed is not as simple as an OnObjectEnter Script.
That is a real bummer.
Yes, capturing the "previous" entry in the popup is harder than it should be. There is however an undocumented way to do so. Which is to send it as a Script Parameter. This works with both OnObectEnter and OnObjectModify; so you can use it with the later to set a variable to the previous value. But, as I said, undocumented.
I would LOVE for someone with the authority to confirm this functionality, as it is a PITA otherwise (global variable, etc.).