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);
}
});