Вот есть первый код, который отвечает за проверку поля email. Он работает мгновенно, когда убирается фокус.
Так- же у меня есть второй js код который проверяет вобщем все поля на заполненность.
Проблема заключается, в том, что нужно подключить проверку емаил во 2 код. Что проверка не шла емали сразу как фокус убирается, а по клику кнопки оплатить.
$(document).ready(function() {
$('#email').blur(function() {
if($(this).val() != '') {
var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i;
if(pattern.test($(this).val())){
$(this).css({'border' : '1px solid #569b44'});
$('#valid').text('Верно');
} else {
$(this).css({'border' : '1px solid #ff0000'});
$('#valid').text('Не верно');
}
} else {
$(this).css({'border' : '1px solid #ff0000'});
$('#valid').text('Поле email не должно быть пустым');
}
});
});
function trim( str, charlist ) { // аналог PHP функции trim()
charlist = !charlist ? ' \\s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
var re = new RegExp('^[' + charlist + ']+|[' + charlist + ']+$', 'g');
return str.replace(re, '');
}
function checkOut() { // Наша функция
var form = '#form_pay'; // идентификатор (#id) или класс (.class) формы
var err = 8; // количество проверяемых полей, input'ов и textarea
$('input[type=text]', $(form)).each(function (indx) { // проверяем input'ы
if (trim($(this).attr('value')).length < $(this).attr('minlength')) { // проверка количества символов
$(this).attr('id', 'err'); // вешаем идентификатор #err, в качестве стилизации рамки
err++;
}
else $(this).removeAttr('id'); err--; // в этом элементе нет ошибок, чистим идентифкатор #err, уменьшаем счетчик ошибок
});
if (err==0) $(form).submit(); // Если нет ошибок - отправляем данные.
}
<input type="button" class="button_pay" value="Оплатить" onclick="checkOut()">