Uncaught ReferenceError: function is not defined at HTMLInputElement.onclick?

438
19 декабря 2018, 10:40

Есть сайт на wordpress. Сделал отдельную страничку с калькулятором, где подключанию скрипты для получения величин, проверки и отправки данных. Сейчас, в данном коде, который есть, при клике получаю ошибку:

Uncaught ReferenceError: getRadioCalc1 is not defined at HTMLInputElement.onclick

<?php get_header(); ?>
<script>
  jQuery.noConflict();
(function( $ ) {
    $(function() {
          function getRadioCalc1(val, step) {
            if (step == 0) {
              rezCalc1[1] = val;
            } else {
              rezCalc1[step + 1] = val;
            }
            if (val == 'Створок: 1') {
              imgID = '1';
            }
            if (val == 'Створок: 2') {
              imgID = '2';
            }
            if (val == 'Створок: 3') {
              imgID = '3';
            }
            if (val == 'Балконный блок') {
              imgID = '4';
            }
            $('#countCounter1').attr('src', '<?php echo get_stylesheet_directory_uri() ?>/images/calc-sel-window-' + imgID + '.jpg');
            $('#rez1').val(rezCalc1.join(', '));
            return false;
          }
});
  })(jQuery);
</script>
<ul class="step-list">
   <li><input type="radio" class="radio" name="w-type" id="w-t-1" onclick="getRadioCalc1('Квартира',0);"><label for="w-t-1">Другое</label></li>
   <li>..</li>
   <li>..</li>
</ul>
<script>
(function( $ ) {
$(document).on('click', '.form-submit-355', function() {
});
})(jQuery);
</script>
<?php get_footer(); ?>

Если делать без обертки

jQuery.noConflict();
(function( $ ) {
    $(function() {
});
})(jQuery);

то получаю ошибку изначально:

TypeError: $ is not a function when calling jQuery function

Как это можно исправить?

P.S. Интересно, что на тестовом локальном сервере все работает даже без обертки, а на реальном уже нет, правда там разные темы установлены, но тем не менее..

Answer 1

Лишнюю обертку убрать и все заработает

<script>
  jQuery.noConflict();
          function getRadioCalc1(val, step) {
            if (step == 0) {
              rezCalc1[1] = val;
            } else {
              rezCalc1[step + 1] = val;
            }
            if (val == 'Створок: 1') {
              imgID = '1';
            }
            if (val == 'Створок: 2') {
              imgID = '2';
            }
            if (val == 'Створок: 3') {
              imgID = '3';
            }
            if (val == 'Балконный блок') {
              imgID = '4';
            }
            $('#countCounter1').attr('src', '<?php echo get_stylesheet_directory_uri() ?>/images/calc-sel-window-' + imgID + '.jpg');
            $('#rez1').val(rezCalc1.join(', '));
            return false;
          }
</script>
<ul class="step-list">
   <li><input type="radio" class="radio" name="w-type" id="w-t-1" onclick="getRadioCalc1('Квартира',0);"><label for="w-t-1">Другое</label></li>
   <li>..</li>
   <li>..</li>
</ul>
<script>
(function( $ ) {
$(document).on('click', '.form-submit-355', function() {
});
})(jQuery);
</script>
<?php get_footer(); ?>
READ ALSO
migs mastercard api помогите разобраться!

migs mastercard api помогите разобраться!

Ребята, спасайте! Мучаюсь третий день и не понимаю почему у меня выстреливает ошибка -

184
Как отправить ajax при единой точке входа

Как отправить ajax при единой точке входа

Возник такой вопрос, необходимо отправить ajax при загрузке view, но из за того что создана единая точка входа, не можем указать адресс

193
Как вставить php в Custom field wordpresss?

Как вставить php в Custom field wordpresss?

Как в произвольное поле вставить php код и потом его вывести на этой же странице (записи)? есть запись = карточка товара, где цена на этот товар...

149
Как вывести из поля несколько значений?

Как вывести из поля несколько значений?

Есть таблица mysql, в ней есть в поле imgВ нем содержатся несколько фотографий, в одном поле может быть несколько фоток вот так:

154