Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

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

Так имеется поле (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

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.