in reply to CGI and JavaScript

One thing I haven't heard anybody mention is avoiding the performance hit on a high traffic site. If I can use Javascript to do a "first pass" at validating the data, then do the same validation inside the CGI, I can avoid some server overhead. If you get 1 million hits per day, for example, at a site and Javascript even catches 10% of your errors, that is a significant amount of load to push to the client side without too much more effort.
In anything other than high traffic environments, I agree, CGI seems to do the trick and Javascript is only useful in special cases.