<アンケート調査結果Vol.2イライラ編>ユーザーがフォーム入力中イラつく原因 を見ていたら、1位は「イライラの理由1位「正しく入力したつもりがエラーと判定される」75%」らしいです。私も確かに経験があります。旅行サイトとかに多いですよね・・・。
このリアルタイムエラーチェック機能を、jQuery Live Form Validation というjQueryプラグインを利用することで簡単にフォームに実装できます。
ヘッダに追加
<script type="text/javascript"> jQuery(function(){ jQuery("#Email").validate({ expression: "if (VAL.match(/^[^\W][a-zA-Z0-9\_\-\.]+([a-zA-Z0-9\_\-\.]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/)) return true; else return false;", message: "メールアドレスを正しく入力してください。" }); jQuery("#Mobile").validate({ expression: "if (VAL.match(/^[9][0-9]{9}$/)) return true; else return false;", message: "携帯電話番号を正しく入力してください。" }); }); </script>
HTML例
<form action="" method="post"> <table> <tbody> <tr> <td> メールアドレス </td> <td><input type="text" name="Email" id="Email" /> </td> </tr> <tr> <td> 携帯番号 </td> <td><input type="text" name="Mobile" id="Mobile" /> </td> </tr> <tr> <td></td> <td><input type="submit" value="Submit" style="background: #EFEFEF;"/> </td> </tr> </tbody> </table> </form>