Article View: pl.comp.lang.javascript
Article #49768autouzupelnienie miasta, co wybrac?
From: Albert
Date: Thu, 28 Jan 2010 07:42
Date: Thu, 28 Jan 2010 07:42
37 lines
3253 bytes
3253 bytes
Witam, mam pole w ktorym user ma wpisac nazwe miejscowosci. W bazce mam ok. 100 k miejscowosci i tu jest problem. Wiadomo, ze w tak szczegolowej bazie (SIMC) miejscowosci sie powtarzaja (samych Warszaw jest chyba z kilkanascie) Dlatego chce juz na wstepie dac mozliwosc wyboru wlasciwej userowi, zeby potem po zapisie formularza nie robic zwrotki z zapytaniem , o ktora Warszawe mu chodzi ;) Pierwsza wersja jest taka: pole input, user wpisuje 4 znaki i uruchamia sie ajax slac zapytanie do bazki. Dlaczego 4 znaki? Bo jak by wyslal po pierwszej to lista miast na W byłaby ogromna, a robic limit na zapytaniu tez nie ma sensu. Wyniki zapytania wyswietlaja sie w postaci pola select w ukrytym do tej pory DIVie. User wybiera jedno z proponowanych rozwiazn. Klika nazwe wybranego miasta, a nazwa ta "przeskakuje" do inputa, jej unikalny ID do pola hidden, a sam select znika. Problemy: cala masa, nie znam na tyle dobrze JS zeby we szystkich przegladarkach zadzialao to jak nalezy :D Wersja druga. W polu input user wpisuje nazwe miejscowosci, wychodzi z pola, "wylapuje to zdazenie" uruchamiam ajaxa z zapytaniem do bazki. Jak nazwa miasta jest tylko jedna nic nie robie, a jak powtarzalna to w polu obok select wyswietlam komunikat, ze sie nazwa powtarza, wybierz jedna z nich i nazwy do wyboru w liscie slelect do wyboru. user wybiera i juz. Input nie znika, select pozostaje selectem zadnych JS czarow. Sposob prosty tylko czy elegancki? Prosze o porade i ew. pomoc przy pierwszej wersji. Przy okazji. Probowalem zobaczyc jak inni to maja, ale kody nasr... tyle, ze dalem sobie spokoj choc jedna rzecz zauwazylem wszedzie i nie rozumiem tego. Po co uruchamiac akcje autouzupelnienia nazwy miasta juz po podaniu pierwszej litery? Potem user klika druga,trzecia,czwarta... i za kazdym razem sa wykonywane zapytania do bazki. W sumie i tak watpliwe zeby przy pierwszej czy drugiej literce ukazala sie zadana miejscowosc (chyba, ze baza miast jest b. mala). Druga rzecz..jak juz wykonuje sie to zapytanie do bazki to jej wynikow w JS nie da sie jakos buforowac? W koncu jak po pierwszej akcji zassana zostaje lista miast, a user dalej stuka to przeciez mozna chyba korzystac z zassanej listy niz po kazdym stuknieciu robic kolejne zapytania i meczyc baze? Jak to jest ktos madry z JS moze mi to wyjawic? Z gory dzieki :)
Technical Details
Message-ID:
<hjrf52$5e2$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.prz.edu.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.prz.edu.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail From: "Albert" <qwerty1231@vp.pl> Newsgroups: pl.comp.lang.javascript Subject: autouzupelnienie miasta, co wybrac? Date: Thu, 28 Jan 2010 08:42:26 +0100 Organization: http://onet.pl Lines: 39 Message-ID: <hjrf52$5e2$1@news.onet.pl> NNTP-Posting-Host: 78-131-216-98.tktelekom.pl X-Trace: news.onet.pl 1264664546 5570 78.131.216.98 (28 Jan 2010 07:42:26 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Thu, 28 Jan 2010 07:42:26 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5843 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-RFC2646: Format=Flowed; Original MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit