Проблемы с формами полученными через AJAX

 
Посетитель
small user social cms
Медаль
Сообщений: 192
Очень порадовало, что html-редактор при загрузке формы через ajax, работает корректно без допиливания. Это реально круто!

Но все же есть нюансы. Первый из них это подсчет символов при вводе. Если он включен, то вываливается ошибка "ReferenceError: LANG_CH1 is not defined" и ничто не работает.
Проблема в том, что переменные (как бы константы) 'LANG_CH1', 'LANG_CH2', 'LANG_CH10', которые объявляются в шаблоне формы, не видны скрипту в шаблоне поля. Сейчас буду смотреть, как исправить. Но может кто-то уже решал эту задачку.

PS Отключение подсчета через админку помогает, но это не кошерное решение.
СельхозМолл (сделано на Инстанте 2
Посетитель
small user social cms
Медаль
Сообщений: 192
Решение нашлось довольно быстро и просто. В файле /templates/default/assets/ui/form.tpl.php ява-скрипт расположенный почти в конце файла:
Код PHP:
  1. <script type="text/javascript">
  2. <?php echo $this->getLangJS('LANG_CH1','LANG_CH2','LANG_CH10', 'LANG_ISLEFT', 'LANG_SUBMIT_NOT_SAVE'); ?>
  3. $(function (){
  4. icms.forms.initUnsaveNotice();
  5. <?php if ($form->is_tabbed){ ?>
  6. initTabs('#<?php echo $form_id; ?>');
  7. <?php } ?>
  8. $('.is_collapsed legend').on('click', function (){
  9. var _fieldset = $(this).closest('.is_collapsed');
  10. $(_fieldset).toggleClass('is_collapse do_expand');
  11. $.cookie('icms[fieldset_state]['+$(_fieldset).attr('id')+']', $(_fieldset).hasClass('do_expand'));
  12. });
  13. $('.is_collapsed').each(function (){
  14. if($(this).find('.field_error').length > 0 || $.cookie('icms[fieldset_state]['+$(this).attr('id')+']') === 'true'){
  15. $(this).addClass('do_expand').removeClass('is_collapse'); return;
  16. }
  17. });
  18. });
  19. </script>
я перенес в начало файла и расположил перед началом формы. Все заработало.

Тему пока не закрываю, потому как могут возникнуть и другие нюансы (у меня уже возникали, но уже не помню какие, но как-то решал их).
СельхозМолл (сделано на Инстанте 2
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.