名前:
年齢:
メール:

一度、空欄で色が変ってしまった場所を戻すのも色々方法があります。
今回は関数の中に組み込んでしまう方法で対処します。
Errと言う関数を廃止して、SubChkとして全てそこで対処します。
IDからのオブジェクト取得は一切していません。 フォームから渡されたthisからのオブジェクトに基づいて、全て引数でオブジェクトを渡しています。

注意1の部分。
元に戻すつもりでinheritを入れると、IEではエラーになります。
空欄にする事で基のCSSが適用されます。
ただこれもブラウザの解釈によるかもしれないので、確実にしたいなら元の色をしっかり指定した方が良いでしょう。 リセット時も他に手があると思いますが、チェック時に配列化しておいて用を済ませます。

これでほぼ完成です
JavaScriptによるチェックを『オマケ』として考えているのであれば、この時点で完成として良いです。 CGI側で厳密にチェックをするのであればそれでも構いません。 JavaScriptでしっかりチェックしてから送信させたいならまだ問題があります。