Добрый день читатели! Сегодня речь пойдет об очень-очень популярной ошибке, которая может возникать в CMS Joomla.
Представьте ситуацию. У вас сайта на Joomla, вы хотите, допустим, вставить сторонний скрипт, например, форму обратной связи на ajax. Вы точно знаете, что эта форма рабочая, не один раз ее использовали и тестировали. Вставляете на ваш сайт на joomla. Проверяете нажимая “отправить” и бамц – ничего не происходит.
В такой ситуации, первым делом вы будете проверять, подключен ли jquery вообще и правильная ли версия. Если вы уверенны, что все сделали правильно, но форма все равно не работает, необходимо проверить firebug консоль, чтобы понять, какую ошибку она вызывает.
В нашем случае ошибка будет
$(document).ready is not a function
Предыстория ошибки “$(document).ready is not a function”
По умолчанию в joomla используются некоторые js-фреймворки. Один из таких фреймворков – motools, который переписывает символ $, который вы пытаетесь использовать в ваших скриптах.
Решение проблемы
В вашем скрипте необходимо заменить все “$” на “jQuery”.
Например, если у вас написано
var posName = $("#posName").val();
То вы должны заменить на
var posName = jQuery("#posName").val();
Или у вас
$(document).ready(function()
А должно быть
jQuery(document).ready(function()
И т.д.
Вот и все 🙂 Решение проблемы не очень сложное. Если возникли вопросы, пишите в комментариях
Также можно попробовать записать скрипт таким образом:
Спасибо, мил человек! Долго не могла понять, в чем дело
Низкий поклон автору.
Спасибо! выручил