0

http://jsfiddle.net/dm6Hm/23/ 入力のスタイルを検証できるかどうか知りたいのですが、これは入力フィールドをクリックしたときにのみ発生するはずです。つまり、背景色がデフォルトの白色に戻ります。入力が終わったら、別の場所をクリックします。これまでのところ、データを受信して​​情報を正しく検証することはできますが、他の場所をクリックしても白い背景はリセットされません。

<input type="email" class="Email" value="Email"/>
<input type="text" class="fname" value="First Name"/>

function isEmail(email){
    var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
    return reg.test(email);
}

$(".Email").keydown(function(e) {
    var $test = $(this).css("background-color", "");
    if (isEmail($test.val())) {
    setTimeout(function() {
        $test.css("background-color", "green").focus();
    }, 0);
    }else{
    setTimeout(function() {
        $test.css("background-color", "red").focus();
    }, 0);
    }
});

function isfname(text){
    var reg = /^[a-z ,.'-]+$/i;
    return reg.test(text);
}

$(".fname").keydown(function(e) {
    var $test = $(this).css("background-color", "");
    if (isEmail($test.val())) {
        setTimeout(function() {
            $test.css("background-color", "green").focus();
        }, 0);
     }else{
        setTimeout(function() {
            $test.css("background-color", "red").focus();
        }, 0);
    }
});
4

2 に答える 2