We actually discussed this a bit while we were pair programming. I advised this way since it seemed to me more robust and more "correct" way to do it. You're right that this is the only route by which the value would change, but using the change listener would also be resilient to browser actions (which are impossible since it is hidden...).