Can you clarify how it stops working? I have been interpreting your message this way:
You are trying to use the <form onreset= > event to clear validators to their hidden state. My answer gives you code that hides the validator without changing its innerHTML. When you changed the innerHTML, the validator would still show and hide the <span> tag containing it but have nothing inside the <span> tag to show. It appears off.
FYI: If the reset button is the problem, here's an alternative solution to developing this custom code. The inability to clear validators upon reset is one of the many limitations of Microsoft's validators. I wrote a replacement to Microsoft's validators that overcomes its limitations including the ability to reset the validators to the same condition they were as the page first appeared. You can learn more about Professional Validation And More
here and the limitations of Microsoft's validators
here.