I’m not really sure how to go with this, but here goes:
If it’s a straight-forward HTML element then everything works fine. E.g. a <select> element fires on change.
However, if I use a jQuery script (e.g. a jQuery colour selector), then although that jQuery script populates an <input> field, the validation script doesn’t fire.
This I suppose is obvious as you don’t click, blur, change it, it’s just the jQuery script changing it.
Another example is a rating script (rate out of 5). It uses radio buttons as a non-jQuery fallback and the jQuery script just hides those radios (with CSS), displays the star images and then changes the radios when the user interacts with the star images. That way the server handles a form submit the same way regardless of the availability of jQuery. However, the validation script doesn’t fire.