Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2016, 07:03
Интересующийся
Отправить личное сообщение для Manoftheyear Посмотреть профиль Найти все сообщения от Manoftheyear
 
Регистрация: 20.03.2016
Сообщений: 17

Ошибка: функция не определена
Всем здравствуйте!

В файле джейэс есть вот такая функция:



В теле HTML есть вот такая ссылка:



Но процесс до самой функции не доходит, в консоли пишет: Uncaught ReferenceError: addToCart is not defined.
Что тут может быть?

Файл с функцией подключен в заголовке, файл библиотеки JQuery тоже подключен. Путь к ним верен, так как консоль не ругается. Ретёрн фолс в онклике, кстати тоже игнорируется, ссылка срабатывает.

Если раскомментировать 2-3-27 строки и добавить класс аддТоКарт в ссылку. В консоли НЕ выводится ошибка функции, но и один хер ничего не происходит, превентДефолт тоже не срабатывает, строка "асд" тоже не выводится.

Мистика...
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2016, 10:58
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Manoftheyear,
Строка 28 не дописана.
Нужно });
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2016, 11:08
Интересующийся
Отправить личное сообщение для Manoftheyear Посмотреть профиль Найти все сообщения от Manoftheyear
 
Регистрация: 20.03.2016
Сообщений: 17

Сообщение от Dilettante_Pro Посмотреть сообщение
Manoftheyear,
Строка 28 не дописана.
Нужно });
Косяк конечно, но разве из-за него весь этот сырбор? Просто изначально первый строки вообще не было, добавил от безысходности -=))
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2016, 11:14
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Manoftheyear,
Сообщение от Manoftheyear
Косяк конечно, но разве из-за него весь этот сырбор? Просто изначально первый строки вообще не было, добавил от безысходности -=))
А вы попробовали?
Из-за отсутствия скобки функция на ready не определена, а в ней не определена addToCart
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2016, 21:03
Интересующийся
Отправить личное сообщение для Manoftheyear Посмотреть профиль Найти все сообщения от Manoftheyear
 
Регистрация: 20.03.2016
Сообщений: 17

Не помогает, попробовал. Сейчас и вовсе в этом моменте от Аякса отказался, вечно у меня с ним проблемы, не любит он меня -=)))
Ответить с цитированием
  #6 (permalink)  
Старый 21.04.2016, 21:08
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Manoftheyear
аддТоКарт
проверь имена на наличие кириллицы
Ответить с цитированием
  #7 (permalink)  
Старый 21.04.2016, 22:37
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

вместо resProduct['id'] -
<?php echo resProduct['id'];?>

и скобки {} там лишние addToCart({20})

Последний раз редактировалось Vlasenko Fedor, 21.04.2016 в 22:40.
Ответить с цитированием
  #8 (permalink)  
Старый 22.04.2016, 08:03
Интересующийся
Отправить личное сообщение для Manoftheyear Посмотреть профиль Найти все сообщения от Manoftheyear
 
Регистрация: 20.03.2016
Сообщений: 17

Сообщение от bes Посмотреть сообщение
проверь имена на наличие кириллицы
Ок
Сообщение от Poznakomlus Посмотреть сообщение
вместо resProduct['id'] -
<?php echo resProduct['id'];?>

и скобки {} там лишние addToCart({20})
Это же Smarty, файл tpl, а не php.
В исходном коде HTML выводится всё правильно addToCart(айди-товара). Косяк тут где-то глубже, потому что return false также игнорируется.

Ещё момент, я уже забил на ту функцию с Аяксом, сделал всё напрямую через PHP.

Сделал функцию для других целей, более простую. Но с*ка пишет, что и она не определена! фак! Ниже сама функция и обращение к ней в HTML

Сама функция:


Обращение на странице:


Принцип таков, в инпут вводим колво товара, в следующем спане за ним цена за один товар, во втором спане должна выводится цена за колво товара введённого в инпут. Но консоль выдаёт: Uncaught ReferenceError: conver is not defined
Ответить с цитированием
  #9 (permalink)  
Старый 22.04.2016, 10:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Manoftheyear,
Вот маленький макет вашего кода - правда, без Smarty, напрямую
(на будущее просьба размещать не картинки, а текст)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
        function conver(itemId) {
            var newCnt = $('#itemCnt_' + itemId).val();
            var itemPrice = $('#itemPrice_' + itemId).attr('value');
            var itemRealPrice = newCnt * itemPrice;
            $('#itemRealPrice_' + itemId).html(itemRealPrice);
        }
</script>

<input id="itemCnt_11" type="text" value="1" onchange="conver('11');"/>
<span id="itemPrice_11" value="123.25">123.25</span>
<span id="itemRealPrice_11" >123.25</span>

По идее, если Smarty правильно все подставляет, должно работать
(кстати, описание функции не надо оборачивать в ready - при этом функция не определяется)

Последний раз редактировалось Dilettante_Pro, 22.04.2016 в 11:06.
Ответить с цитированием
  #10 (permalink)  
Старый 22.04.2016, 11:42
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Более надежный способ
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
    $(function () {
        $('.countprod').on('change', function () {
            var itemId = $(this).attr('id');
            itemId = itemId.substr(itemId.indexOf('_') + 1);
            var newCnt = $(this).val();
            var itemPrice = $('#itemPrice_' + itemId).attr('value');
            var itemRealPrice = newCnt * itemPrice;
            $('#itemRealPrice_' + itemId).html(itemRealPrice);
        });
    });
</script>

<input id="itemCnt_11" type="text" class="countprod" value="1" />
<span id="itemPrice_11" value="123.25">123.25</span>
<span id="itemRealPrice_11" >123.25</span>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться функция не определена! arahmanov Events/DOM/Window 7 09.04.2016 01:41
функция. ошибка... в чем проблема? ufo Общие вопросы Javascript 8 16.03.2015 00:42
5 случайных чисел, ошибка в IE saves7 Общие вопросы Javascript 5 10.06.2014 23:57
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 14:01
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07