Перейти к содержимому
Русский язык для Invision Community 5

Поле с подгрузкой списка пользователей

Приветствую.

 

делаю небольшой модуль, добавляющий в профиль пользователя некотрые опции.

Так имеется поле (input text) куда должно быть вписан ник пользователя. Оно должно работать автоподбором по первым введенным символам, как при создании ЛС например.

Долго изучал как оно функционирует при создании ЛС, но так до конца и непонял.

 

идет вызов app=core&module=ajax&section=findnames&do=get-member-names&secure_key=' + ipb.vars['secure_hash'] + '&name='

 

добавление скрипта

<script type="text/javascript">
	document.observe("dom:loaded", function(){
		var url = ipb.vars['base_url'] + 'app=core&module=ajax&section=findnames&do=get-member-names&secure_key=' + ipb.vars['secure_hash'] + '&name=';
		new ipb.Autocomplete( $('mem_name1'), { multibox: false, url: url, templates: { wrap: ipb.templates['autocomplete_wrap'], item: ipb.templates['autocomplete_item'] } } );
	});
	</script>

 

не спасет, видно что идет подгрузка (появлятся индикатор после ввода трех символов) но блок с никами не отображается.

 

объясните мне как правильно выглядит вся эта структура отслеживание keypress в поле и подгрузка списка пользователей

Рекомендованные сообщения

Примерно так. Посмотрите в дебагере браузера состояние запроса и ответ от сервера, возможно чтото упущено в запросе.

  • Автор

хм.. вроде заработало, в чем загвоздка была так и непонял, видать где-то сам описался в скрипте или в индификаторе поля

 

теперь проблема как это блок с подгруженными никами позиционировать? а то отображается по координатам 0,0 от начала окна, а хотелось бы к input привязать

Прикрепите его к этому элементу.

  • Автор

подскажите где это сделать

 

код инпута

<input type="text" class="input_text" id="vr_nmem" name="vr_nmem" size="30" value="'.$this->request['vr_nmem'].'" >

 

код скрипта

<script type="text/javascript">
	document.observe("dom:loaded", function(){
	  var url = ipb.vars['base_url'] + 'app=core&module=ajax&section=findnames&do=get-member-names&secure_key=' + ipb.vars['secure_hash'] + '&name=';
          new ipb.Autocomplete( $('vr_nmem'), { multibox: false, url: url, templates: { wrap: ipb.templates['autocomplete_wrap'], item: ipb.templates['autocomplete_item'] } } );
 });
</script>

 

нашел вот такой формат позиционирования автокомплита, но в какой момент это вписывать

$("selector").autocomplete({ position:{my:"right top", at:"right bottom"} });

Изменено пользователем rabotnik

  • Автор

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

 

как это обойти?

Изменено пользователем rabotnik

Создайте аккаунт или войдите в него для комментирования

Важная информация

При использовании данного сайта, вы согласаетесь с Условия использования и Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим..

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.