Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Помощь в выборе фреймворка, библиотеки для задачи. (https://javascript.ru/forum/library-toolkit-framework/32979-pomoshh-v-vybore-frejjmvorka-biblioteki-dlya-zadachi.html)

any.zicky 06.11.2012 14:23

Помощь в выборе фреймворка, библиотеки для задачи.
 
Всем добрый день.

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

Но потом это возможно расшириться , и другими данными, фамилией адресом и др.

Так вот может кто подскажет есть ли библиотека какая-нибудь, или лучше взять сразу фреймворк, и если да то какой проще будет,и гибкий.
Пока смотрел в сторону EmberJs .

rockerror 07.11.2012 15:19

Ну тут вам одним js не обойтись - нужна серверная часть. А вообще если речь не идет о чем-то монструозном, я бы порекомендовал просто jQuery, ибо он очень гибкий и позволяет реализовать еще очень много чего. Суть решения вашей задачи такая: вызываем аяксом серверный скрипт (полагаю php), который проверет все, что вам нужно в базе и возвращает ответ, в частности есть логин или нет. Кстати на 1 букве я бы проверку не делал, или у вас нет ограничения на минимальное количество символов в логине? Сделайте хотя бы 3 символа и начинайте проверку с этого момента.

DjDiablo 08.11.2012 08:43

На сервере нужна будет функция тест которую клиент будет опрашивать при каждом нажатии кнопки при вводе пароля. Сервер будет опрашиваться, и возвращать true - если свободен и false - если занят.

Мне неочень нравится то что при каждом нажатии будет производится сервером sql запрос к бд. Можно попробывать снизить нагрузку. К примеру если количество пользователей похожих на введённый текст окажется меньше 100 допустим, то передать их вместо true на клиент и в дальнейшием опрашивать этот список без участия сервера. Использования загрузки части информации зависит от политики безопасности. Точнее от того скрываете ли вы логины пользователей, или напротив секретом они не являются(как на javascript.ru).

Впринципе для всего этого достаточно jquery, и среднего уровня познаний в js и в фреймворке.

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

rockerror 08.11.2012 13:46

Насчет сохранения результатов первого запроса, я с вами категорически согласен)) А вообще, лучше всего эту проблему решит memcached. Но не думаю, что сейчас речь идет о проекте в котором разница между запросами в мускул и общением с memcached будет заметна пользователю. Именно поэтому я и не стал лезть в дебри и описал простейший алгоритм))

any.zicky 08.11.2012 15:59

Ну да , вы правы нужно проверять хотя бы со 2-3 буквы, по первой букве число сочетаний будет большое)

DjDiablo, спасибо большущее за примеры)))) странно что я их сам не увидел там ))

capscom 26.11.2012 15:13

jquery UI, модуль autocomplete

Пример:
http://jqueryui.com/autocomplete/

останется только подвязать его к Вашей серверной части.


Часовой пояс GMT +3, время: 11:49.