Форма не работает что не так в коде?

 {literal}
<script>
(function( $ ){

$(function() {

$('.rf').each(function(){
// Объявляем переменные (форма и кнопка отправки)
var form = $(this),
btn = form.find('input[type="submit"]');

// Добавляем каждому проверяемому полю, указание что поле пустое
form.find('.rfield').addClass('empty_field');

// Функция проверки полей формы
function checkInput(){
form.find('.rfield').each(function(){
if($(this).val() != ''){
// Если поле не пустое удаляем класс-указание
$(this).removeClass('empty_field');
} else {
// Если поле пустое добавляем класс-указание
$(this).addClass('empty_field');
}
if($(this).hasClass('mailfield')) {
var mailfield = $(this);
var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i;
if(pattern.test(mailfield.val())){
mailfield.removeClass('empty_field');
} else {
mailfield.addClass('empty_field');
}
}
});
}

// Функция подсветки незаполненных полей
function lightEmpty(){
form.find('.empty_field').css({'border-color':'#d8512d'});
// Через полсекунды удаляем подсветку
setTimeout(function(){
form.find('.empty_field').removeAttr('style');
},500);
}

// Проверка в режиме реального времени
setInterval(function(){
// Запускаем функцию проверки полей на заполненность
checkInput();
// Считаем к-во незаполненных полей
var sizeEmpty = form.find('.empty_field').size();
// Вешаем условие-тригер на кнопку отправки формы
if(sizeEmpty > 0){
if(btn.hasClass('disabled')){
return false
} else {
btn.addClass('disabled')
}
} else {
btn.removeClass('disabled')
}
},500);

// Событие клика по кнопке отправить
btn.click(function(){
if($(this).hasClass('disabled')){
// подсвечиваем незаполненные поля и форму не отправляем, если есть незаполненные поля
lightEmpty();
return false
} else {
// Все хорошо, все заполнено, отправляем форму
form.submit(function(){
form.find('.callback-name').val('');
form.find('.rfield').each(function(){
$(this).val('');
});
});
}
});
});
});

})( jQuery );

</script>
{/literal}

1 ответ

  • 1
    Эрик Webasyst 13 августа 2016 11:24 #

    Подробную поддержку по редактированию исходного кода программных продуктов вы также можете получить от экспертов Webasyst.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите