У меня есть форма для изменения личных данных пользователя.В этой форме я разрешаю пользователю менять свою электронную почту и / или пароль.С помощью jQuery я хочу показать поле «Текущий пароль», когда оно обнаружит, что одно из этих полей изменено.
Для поля электронной почты это означает, что при его изменении поле пароля появляется, но когда электронная почтаповторно введенный правильно, он снова скрывается.
Для поля пароля это означает, что он просто показывает, когда что-то набрано внутри поля.
Я получил основы работы, но не могу получитьим работать друг с другом.Поэтому, когда я изменяю оба и меняю один обратно, поле «Текущий пароль» скрывается.
let requiredSet;
$('.js-show-target-on-change').on('input', function() {
const target = $('.js-show-target-on-change__target');
let currentValue = $(this).val();
if ( $(this).data('type') === 'email' ) {
const emailValue = $(this).data('value');
if ( currentValue !== emailValue && !requiredSet === true ) {
target.show();
target.find('input').prop('required', true);
requiredSet = true;
} else if ( currentValue === emailValue ) {
target.hide();
target.find('input').prop('required', false);
requiredSet = false;
}
} else {
if ( !requiredSet === true ) {
target.show();
target.find('input').prop('required', true);
requiredSet = true;
} else if ( !currentValue.length ) {
target.hide();
target.find('input').prop('required', false);
requiredSet = false;
}
}
});
JsFiddle
Буду рад некоторой помощи с этим, так как я былзастрял так долго ... Заранее спасибо!