Контактная форма 7. Пользовательское поле проверки.Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Контактная форма 7. Пользовательское поле проверки.

Сообщение Anonymous »

Здесь мне могла бы пригодиться помощь. Я неустанно решал эту проблему, но наткнулся на стену. Кажется, что CF7 упорно меняет атрибут «aria» моего поля даты рождения (DOB) обратно на «false», несмотря на мои попытки установить для него значение «true» с помощью сценария. Даже когда я меняю его вручную, он возвращается, когда я выхожу из поля DOB. Моя цель — гарантировать, что пользователи не смогут отправить форму, если дата рождения указывает на то, что им больше 19 лет и они выбрали радио-поле Junior. Обратите внимание, что доб появляется только тогда, когда выбрано радио Junior. Есть идеи, как с этим справиться? Спасибо!

Код: Выделить всё

jQuery(document).ready(function($) {
function getAge(dateString) {
var today = new Date();
var birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}

function checkAge() {
var dobField = $('[name="dob"]');
var dobValue = dobField.val();
var membershipValue = $('[name="catmembership"]:checked').val();
var notValidTip = $('You must be 19 years old or below to join the Junior membership.');
var dobErrorLabel = $('#dob-error');

if (membershipValue === "Junior") {
var age = getAge(dobValue);
if (age >= 19) {
dobField.addClass('wpcf7-not-valid wpcf7-not-valid-required error');
dobField.removeClass('valid');
dobField.attr('aria-required', 'true');
dobField.attr('aria-invalid', 'true');
notValidTip.insertAfter(dobField);
dobErrorLabel.show();
} else {
dobField.removeClass('wpcf7-not-valid wpcf7-not-valid-required error');
dobField.addClass('valid');
dobField.attr('aria-required', 'false');
dobField.attr('aria-invalid', 'false');
$('.wpcf7-not-valid-tip').remove();
dobErrorLabel.hide();
}
} else {
dobField.removeClass('wpcf7-not-valid wpcf7-not-valid-required error');
dobField.addClass('valid');
dobField.attr('aria-required', 'false');
dobField.attr('aria-invalid', 'false');
$('.wpcf7-not-valid-tip').remove();
dobErrorLabel.hide();
}
}

$(document).on('change', '[name="dob"]', function() {
checkAge();
});

// Updated event listener for focusout event on the DOB field
$(document).on('focusout', '[name="dob"]', function() {
checkAge();
});
});

Подробнее здесь: https://stackoverflow.com/questions/784 ... tion-field
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Контактная форма PHP. Странный вывод в поле «От:»
    Anonymous » » в форуме Php
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Контактная форма PHP. Странный вывод в поле «От:»
    Anonymous » » в форуме Php
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Контактная форма на адрес электронной почты
    Гость » » в форуме Php
    0 Ответы
    81 Просмотры
    Последнее сообщение Гость
  • Контактная форма на адрес электронной почты
    Гость » » в форуме Html
    0 Ответы
    41 Просмотры
    Последнее сообщение Гость
  • Контактная форма PHP возвращает код PHP, когда я нажимаю кнопку отправки
    Anonymous » » в форуме Php
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»