добрый вечер, скажите пожалуйтса можно ли как-то оптимизировать этот код? что-то мне не очень нравится что я каждый раз обращаюсь к одному и тому же элементу (пускай даже через переменную и через this), лучше будет если одним разом изменить все необходимые стили? такое вообще возможно в js?)
var email = document.getElementById('email');
email.onkeypress = function() {
this.style.borderColor = '#9DE2EE';
this.style.color = '#434343';
this.style.backgroundImage = 'none';
};
email.onfocus = function() {
if (this.value == 'E-mail') {
this.value = '';
this.style.color = '#434343';
}
};
email.onblur = function() {
if (this.value == '') {
this.value = 'E-mail';
this.style.color = '#BBB';
this.style.borderColor = '#9DE2EE';
this.style.backgroundImage = 'none';
}
else if (this.value != '' || this.value != 'E-mail') {
if (/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(this.value)) {
$.ajax({
type: 'GET',
url: '/reg/check/?v=email&val=' + this.value,
cache: false,
success: function(data) {
if (data > 0) {
email.style.borderColor = '#F29793';
email.style.color = '#F2645C';
email.style.background = 'url(/assets/img/denied.gif) 172px 10px no-repeat';
} else {
email.style.borderColor = '#89CFB0';
email.style.color = '#50BA88';
email.style.background = 'url(/assets/img/accepted.gif) 171px 10px no-repeat';
}
}
});
} else {
email.style.borderColor = '#F29793';
email.style.color = '#F2645C';
email.style.background = 'url(/assets/img/denied.gif) 172px 10px no-repeat';
}
}
};