@righto

Почему этот код не работает с jQuery 3?

Не знаю, почему этот код не работает с Jquery 3:

// Функция проверки полей формы
		    function checkInput(){
		      $('#checkout-form').find('.checkout-block__input_check').each(function(){
		        if($(this).val() != ''){
		          // Если поле не пустое удаляем класс-указание
				$(this).removeClass('empty_field');
		        } else {
		          // Если поле пустое добавляем класс-указание
				$(this).addClass('empty_field');
		        }
		      });
		    }

		    // Проверка в режиме реального времени
		    setInterval(function(){
		      // Запускаем функцию проверки полей на заполненность
			  checkInput();
		      // Считаем к-во незаполненных полей
		      var sizeEmpty = $('#checkout-form').find('.empty_field').size();
		      // Вешаем условие-тригер на кнопку отправки формы
		      if(sizeEmpty > 0){
		        if($('.checkout-submit').hasClass('checkout-submit_disabled')){
		          return false
		        } else {
		          $('.checkout-submit').addClass('checkout-submit_disabled');
		        }
		      } else {
		        $('.checkout-submit').removeClass('checkout-submit_disabled');
		        $('.checkout-block__city').fadeIn();
		      }
		    },500);
  • Вопрос задан
  • 92 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
var sizeEmpty = $('#checkout-form').find('.empty_field').size();

Вот как, size значит... Ясно:

Note: This method has been removed in jQuery 3.0. Use the .length property instead.
Ответ написан
@DanKud
Ну вы же не первый раз уже вопрос задаете, неужели сложно обернуть код в тэг code нажав кнопку </> для читабельности, а не выбрасывать его в таком виде? И при этом отмечать правильные ответы. С таким отношением вам на более-менее серьезные вопросы никто отвечать не будет.

В данном случае вместо.size() используйте .length:
var sizeEmpty = $('#checkout-form').find('.empty_field').length;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы