Форум русской поддержки Joomla!® CMS
03.12.2016, 17:48:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Задачка

 (Прочитано 356 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« : 31.08.2016, 04:30:13 »

Ребят, есть ли тут решение

Имеется скрытый индикатор загрузки:
Показать текстовый блок

который появляется при нажатии на кнопку "Отправить"  (type="submit")
Показать текстовый блок

Необходимо:
Если прикреплен файл (input type="file")  - показать индикатор,
Если файл не прикреплялся - индикатор не показываем.

При удачном итоге готов заплатить за работу Cheesy Roll Eyes
Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #1 : 31.08.2016, 05:26:32 »

Переделайте заголовок на информативный.

Как-то так (jQuery):

Код
if ($("#fileinput").val() == '') {
  $("#btn").click(function() {
     return false;
  });
}
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #2 : 31.08.2016, 10:45:38 »

Объясните подробнее, что делать)
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #3 : 31.08.2016, 13:10:06 »

Изучать JS Azn И показать полный HTML загрузки файла.
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #4 : 31.08.2016, 13:42:10 »

Изучать JS Azn И показать полный HTML загрузки файла.
С трудом дается этот JS Azn

Вот полный HTML:
Показать текстовый блок

В данном случае, допустим, если клиент заполняет все поля и НЕ прикрепляет файл, при нажатии "Отправить заявку" появляется индикатор который не должен появлятся
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #5 : 31.08.2016, 14:38:08 »

Попробуйте так

Код
function showProcessing(){
if (document.getElementById('Loadarea').value != '') {
document.getElementById('loading').style.display = 'block';
}
}
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #6 : 31.08.2016, 15:00:11 »

Попробуйте так

Код
function showProcessing(){
if (document.getElementById('Loadarea').value != '') {
document.getElementById('loading').style.display = 'block';
}
}
Работает!

зайдите в личку
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #7 : 31.08.2016, 15:11:20 »

Ура Wink
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #8 : 31.08.2016, 17:49:51 »

Задачка+
установил форму заказа с данным кодом в всплывающее окно, перестал работать индикатор при нажатии кнопки "Отправить"
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #9 : 31.08.2016, 18:10:55 »

Чудеса. В консоли браузера есть какие-то ошибки JS?
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #10 : 31.08.2016, 18:14:51 »

в консоли ошибок нет, чисто
Записан
icom
Завсегдатай
*****

Репутация: +180/-4
Offline Offline

Пол: Мужской
Сообщений: 778


« Ответ #11 : 31.08.2016, 18:20:07 »

в консоли ошибок нет, чисто
скорее всего всплывающее окно дублирует контент и document.getElementById('loading') уже не работает
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #12 : 31.08.2016, 18:25:46 »

скорее всего всплывающее окно дублирует контент и document.getElementById('loading') уже не работает

Почти так - ТС показал сайт, у него там несколько Loadarea Wink Нужно давать уникальный ID элементам, например LoadareaModal. Ну и в JS поменять.
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #13 : 31.08.2016, 18:44:20 »

Цитировать
Почти так - ТС показал сайт, у него там несколько Loadarea Wink Нужно давать уникальный ID элементам, например LoadareaModal. Ну и в JS поменять.
Точно!
Сейчас исправим
Записан
icom
Завсегдатай
*****

Репутация: +180/-4
Offline Offline

Пол: Мужской
Сообщений: 778


« Ответ #14 : 31.08.2016, 18:47:45 »

Почти так - ТС показал сайт, у него там несколько Loadarea Wink Нужно давать уникальный ID элементам, например LoadareaModal. Ну и в JS поменять.
лучше так
Код:
<script type="text/javascript">
jQuery(function($){  
        $('.submit-button').on('click', function(){
                var main_b = $(this).parents('.loadarea_wr');

                if (main_b.find('.Loadarea').val()!= '') {
                        main_b.find('.loading').show('fast');
                }
        });
});
</script>

<!--  таких блоков может быть сколько угодно на странице   -->
<div class="loadarea_wr">
        <div class="block-loadarea">
                Прикрепить файл<br/><input type="file" name="form[Loadarea]" class="Loadarea" />      
                <div class="loading" style="display: none">Файл загружается, подождите...<img src="/images/a-loader.gif"/></div>
        </div>

 
        <!-- Кнопка отправки   -->
        <div class="block-send">      
                <button type="submit" name="form[send]" class="submit-button">Отправить заявку</button>      
        </div>
</div>
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #15 : 31.08.2016, 20:24:18 »

Цитировать
лучше так

Не убедили
Записан
icom
Завсегдатай
*****

Репутация: +180/-4
Offline Offline

Пол: Мужской
Сообщений: 778


« Ответ #16 : 31.08.2016, 20:25:39 »

почему?
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #17 : 31.08.2016, 20:27:51 »

А какой смысл в том чтобы перелопатить весь dom в поисках одного единственного элемента вместо того чтобы выбрать его по ИД ( который как бы должен быть уникален по своей сути и назначению). К тому же пример был без jquery.
Записан
icom
Завсегдатай
*****

Репутация: +180/-4
Offline Offline

Пол: Мужской
Сообщений: 778


« Ответ #18 : 31.08.2016, 20:33:57 »

Цитировать
который как бы должен быть уникален по своей сути и назначению)

Цитировать
скорее всего всплывающее окно дублирует контент и document.getElementById('loading') уже не работает
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #19 : 31.08.2016, 20:51:01 »

Ну тут конечно по ситуации нужно смотреть. Может вы и правы в данном конкретном примере. Если нужно выбрать элемент в модальном окне то у окна наверное тоже должен быть какой то идентификатор. Тогда может лучше будет выбрать через $('#modal .className') элемент. Надо же минимизировать затраты.

Вы наверное не в курсе но метод parents перебирает всех родителей в dom. Вместо него лучше использовать метод closest который возвращает коллекцию до ближайшего элемента указанного в селекторе:

https://api.jquery.com/closest/#closest-element

« Последнее редактирование: 31.08.2016, 21:12:01 от zomby6888 » Записан
icom
Завсегдатай
*****

Репутация: +180/-4
Offline Offline

Пол: Мужской
Сообщений: 778


« Ответ #20 : 31.08.2016, 21:08:00 »

Ну тут конечно по ситуации нужно смотреть. Может вы и правы в данном конкретном примере. Если нужно выбрать элемент в модальном окне то у окна наверное тоже должен быть какой то идентификатор. Тогда может лучше будет выбрать через $('#modal .className) элемент.
может, спорить не буду, сам сайт не видел
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #21 : 31.08.2016, 22:59:13 »

тему перенесли сюда, в конструкторы RSForm
т.к изначально задачу решал для этого компонента


p/s
ProgressBar для RSForm
Прогрессбар для RSForm
Индикатор загрузки файлов для RSForm



как итог,  допилил форму заказа, заскринил, все получилось Yes!
https://yadi.sk/i/BZNdwidPueppV

всем спасибо!
« Последнее редактирование: 01.09.2016, 05:00:29 от dialit » Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #22 : 12.09.2016, 02:17:15 »

Использую плагин модальных окон- s5 box.
Под каждый раздел сайта использую индивидуальную форму заказа, соотвественно формы заказа "всплывают" в модальном окне.
Вопрос в том, что этот плагин генерирует содержимое всех форм в одну страницу, это если просмотреть код страницы

Подскажите есть ли такой плагин модальных окон, чтобы содержимое подгружалось только по вызову, допустим, жмем кнопку - Заказать сейчас, открывается модалка (при этом подгружается содержимое формы)

Зачем, спросите вы, а фиг знает зачем.... Может так и оставить?
просто большая портянка кода получается если все формы задействую, а их будет много
« Последнее редактирование: 12.09.2016, 02:25:48 от dialit » Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #23 : 12.09.2016, 02:29:13 »

Подскажите есть ли такой плагин модальных окон, чтобы содержимое подгружалось только по вызову, допустим, жмем кнопку - Заказать сейчас, открывается модалка (при этом подгружается содержимое формы)
формы всякие нужны...
В общем так как вы описываете и работает любой разраб - есть форма, нужно передать её в Lightbox - пишется 3 строки кода и все. По клику на кнопке "хочу" показывается Lightbox с формой.
Что у вас там за дикое дублирование - не пойму.
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #24 : 12.09.2016, 02:56:10 »

а я все понял и разобрался, beliyadm жирный плюс вам

The S5 Box allows you to display any module in lightbox style popup activated by a class name

тут модульно все) и вызывается окна по классу)
осталось только модули разбросать по страницам

Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #25 : 12.09.2016, 03:01:34 »

а я все понял и разобрался, beliyadm жирный плюс вам
Тут плюс вам, я ни словом не помог, лишь хотел направить читать доки по используемому скрипту. И бац - у вас получилось самостоятельно - это идельный пост на форуме! Azn
Записан
dialit
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 71


« Ответ #26 : 12.09.2016, 03:08:32 »

вот этим Azn
... дикое дублирование....

теперь порядок я спокоен Azn

Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet