Конфликт с подсчетом заполненных полей с подсказками ввода. Любая работа вокруг?
У меня есть скрипт для подсчета количества полей, которые заполняются. Работает отлично. Но я обнаружил, что скрипт учитывает только те поля, которые НЕ имеют подсказок для ввода. Есть ли работа вокруг?
Сценарий для подсчета полей:
$(document).ready(function () {
(function ($) {
$('#form_register').on('keyup change', function () {
var number = 0;
$(this).find('input, textarea').each(function () {
if (this.value !== '') {
$('.input_count').val(number++);
}
});
});
})(jQuery);
});
СЦЕНАРИЙ ДЛЯ ВХОДЯЩИХ СОВЕТОВ:
(function ($) {
$.fn.hint = function (blurClass) {
if (!blurClass) {
blurClass = 'blur';
}
return this.each(function () {
var $input = $(this),
title = $input.attr('title'),
$form = $(this.form),
$win = $(window);
function remove() {
if ($input.val() === title && $input.hasClass(blurClass)) {
$input.val('').removeClass(blurClass);
}
}
if (title) {
$input.blur(function () {
if (this.value === '') {
$input.val(title).addClass(blurClass);
}
}).focus(remove).blur();
$form.submit(remove);
$win.unload(remove);
}
});
};
})(jQuery);
$(function () {
$('input[title!=""]').hint();
$('textarea[title!=""]').hint();
});
1 ответ
Решение
$(document).ready(function() {
$('#form_register').on('keyup change', function() {
var number = 0;
$(this).find('input, textarea').each(function() {
if ($(this).val() && !$(this).hasClass('blur')) {
$('.input_count').val(number++);
}
});
});
});
Изменить: Если у вас есть кнопка, которая заполняет одно поле, вам нужно добавить это к кнопке.
$(buttonSelector).on('click', function() {
var number = 0;
$('#form_register').find('input, textarea').each(function() {
if ($(this).val() && !$(this).hasClass('blur')) {
$('.input_count').val(number++);
}
});
});