0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 1479 Просмотров
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
Здравствуйте!
Подключил на сайт Joomla 3 скрипт jQuery Masked, который отображает форму для ввода текста, то есть вместо обычного белого поле отображается форма ввода телефона, например.
И после подключения заметил проблему. В карточке товара есть фото, и они стали отображаться друг под другом, хотя раньше они отображались как надо (одна главная фотография, под ней три маленьких) при клике происходит увеличение и просмотр фото.
Модули с использование jQuery Masked выведены слева это: "При заказе у своих - узнайте наши условия", "Затрудняетесь в выборе двери? Подскажем!". Если их отключить или просто убрать использование jQuery Masked, то все в карточке работает.
Вот так выглядет код, который отвечает за показ формы ввода в поле:
Код
		<script type="text/javascript">
$(function(){

$("#phone").mask("+7 (999) 999-99-99");
$("#phone_p").mask("+7 (999) 999-99-99");

});
</script>
По мимо этого к сайту была подключена библиотека jQuery.
Ссылка на сайт (карточка товара): http://www.dvernoyclub.ru/katalog/alit
Подскажите, пожалуйста, в чем может быть проблема и как ее лучше всего убрать? Возможно я надподключал лишнего или сделал что-то не так.
Пробовал ставить плагин jQuery Easy - результата нет.

Решение:
Извиняюсь за задержку в рассказе, как удалось починить.
1. Удалил код скрипта из модуля
2. Прописал код скрипта в index.php:
Код
     <script> 
       $.noConflict();
 
 jQuery(function($){
   $("#phone").mask("+7 (999) 999-99-99");
   $("#phone_p").mask("+7 (999) 999-99-99");

});
 
      </script>
« Последнее редактирование: 11.02.2016, 22:51:48 от hottab_1 »
*

effrit

  • Группа развития
  • 7569
  • 819
  • effrit.com
это не конфликт.
у вас просто код надо обернуть в оболочку
Код
<script type="text/javascript">
jQuery(function($) {
  тут ваш код
});
</script>

вообще, в таких случаях смотрите к консоль файербага во вкладке "ошибки"
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
это не конфликт.
у вас просто код надо обернуть в оболочку
Код
<script type="text/javascript">
jQuery(function($) {
  тут ваш код
});
</script>


вообще, в таких случаях смотрите к консоль файербага во вкладке "ошибки"



Сделал вот так, возможно неправильно:
Код
<script type="text/javascript">
jQuery(function($) {
  $("#phone").mask("+7 (999) 999-99-99");
$("#phone_p").mask("+7 (999) 999-99-99");
});
</script>
Перестала работать маска ввода, но фото по прежнему отображаются косо.
*

effrit

  • Группа развития
  • 7569
  • 819
  • effrit.com
а если так

Код
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function($){
  $("#phone").mask("+7 (999) 999-99-99");
$("#phone_p").mask("+7 (999) 999-99-99");
});
});
</script>
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
а если так

Код
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function($){
  $("#phone").mask("+7 (999) 999-99-99");
$("#phone_p").mask("+7 (999) 999-99-99");
});
});
</script>
К сожалению, не помогло.
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
куда вставляете код?
В модуль, который выводит блок "Затрудняетесь в выборе двери". Код модуля выглядет вот так сейчас:
Код
{rsform 10}



<script type="text/javascript">
jQuery(function($) {
$(document).ready(function($){
  $("#phone").mask("+7 (999) 999-99-99");
$("#phone_p").mask("+7 (999) 999-99-99");
});
});
</script>
*

effrit

  • Группа развития
  • 7569
  • 819
  • effrit.com
а вот это откуда берется

Код
  <script type="text/javascript">
jQuery(function(){
    jQuery(".mask").mask("(999) 999-9999");
});
</script>

вы ещё куда-то вставили код и не стерли потом
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
а вот это откуда берется

Код
  <script type="text/javascript">
jQuery(function(){
    jQuery(".mask").mask("(999) 999-9999");
});
</script>

вы ещё куда-то вставили код и не стерли потом
Да, понял где. Я удалю попозже и отпишусь о результате. По идеи должно все работать?
*

fsv

  • Практически профи
  • 2524
  • 367
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения
*

effrit

  • Группа развития
  • 7569
  • 819
  • effrit.com
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
а вот это откуда берется

Код
  <script type="text/javascript">
jQuery(function(){
    jQuery(".mask").mask("(999) 999-9999");
});
</script>

вы ещё куда-то вставили код и не стерли потом

Поискал, нигде не вставлен код. Он появляется, когда включаешь модуль в котором прописан код:
Код
<script type="text/javascript">
jQuery(function($) {
$(document).ready(function($){
  $("#phone").mask("+7 (999) 999-99-99");
$("#phone_p").mask("+7 (999) 999-99-99");
});
});
</script>
Отключаем модуль - пропадет код в head:
Код
  <script type="text/javascript">
jQuery(function(){
    jQuery(".mask").mask("(999) 999-9999");
});
</script>
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
ну так не бывает. ищи в этом модуле где второй раз прописано
Хорошо, буду искать, спасибо.
*

Arkadiy

  • Группа развития
  • 5350
  • 440
  • Крепитесь, други.
У вас ошибка
Код
TypeError: jQuery(...).mask is not a function
Это происходит из-за того, что вы каким-то образом подключаете скрипты
Код
<script type="text/javascript" src="/js/jquery-1.7.2.min.js" ></script>
<script type="text/javascript" src="/js/jquery.maskedinput-1.3.min.js"></script>
в начале head. Потом идет подключение основных скриптов сайта, среди которых второй раз подключается jQuery. После второго подключения jQuery уже не знает о том, что такое jQuery(...).mask.
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
У вас ошибка
Код
TypeError: jQuery(...).mask is not a function
Это происходит из-за того, что вы каким-то образом подключаете скрипты
Код
<script type="text/javascript" src="/js/jquery-1.7.2.min.js" ></script>
<script type="text/javascript" src="/js/jquery.maskedinput-1.3.min.js"></script>
в начале head. Потом идет подключение основных скриптов сайта, среди которых второй раз подключается jQuery. После второго подключения jQuery уже не знает о том, что такое jQuery(...).mask.
То есть нужно убрать одно подключение jquery?
*

dmitry_stas

  • Профи
  • 10019
  • 950
да, не должно быть нескольких копий. это как правило всегда приводит к "непонятному" поведению
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
Результат, к сожалению, нет.
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
Уделал. Завтра отпишусь как решил проблему. Всем большое спасибо!
*

hottab_1

  • Осваиваюсь на форуме
  • 41
  • 0
Извиняюсь за задержку в рассказе, как удалось починить.
1. Удалил код скрипта из модуля
2. Прописал код скрипта в index.php:
Код
     <script> 
       $.noConflict();
 
 jQuery(function($){
   $("#phone").mask("+7 (999) 999-99-99");
   $("#phone_p").mask("+7 (999) 999-99-99");

});
 
      </script>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенаправление url при смене версии Joomla и прежней структуры сайта

Автор Afman

Ответов: 17
Просмотров: 255
Последний ответ Сегодня в 10:31:14
от voland
Notice: Undefined offset: 1 in /libraries/joomla/environment/browser.php on line 282

Автор planetaryi

Ответов: 3
Просмотров: 233
Последний ответ 17.09.2017, 11:24:53
от botva
Вместо сайта отображается форма Joomla

Автор sts34

Ответов: 15
Просмотров: 205
Последний ответ 06.09.2017, 11:27:48
от lexxbry
Joomla 3.7 Баги с отображением полей

Автор yarek

Ответов: 0
Просмотров: 75
Последний ответ 29.08.2017, 21:24:31
от yarek
Замаскировать Joomla, например, под битрикс

Автор dm-krv

Ответов: 23
Просмотров: 310
Последний ответ 29.08.2017, 19:15:33
от dmitry_stas