Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Autouzupelnianie pola formularza.
Forum PHP.pl > Forum > PHP
leniu
Pracuje obecnie nad baza danych zawierajaca spora ilosc danych, stad wymagajaca od uzytkownika (uzytkownikow) na wprowadzanie sporej ilosci danych. Znaczna pomoca bylby mechanizm autopodpowiadania zawartosci pola (znany chocby z aplikacji Access). Sprawiloby to, ze przykladowo w polu majacym zawierac nazwe ulicy uzytkownik wpisalby tylko pierwsze litery nazwy ulicy, a system porownalby to z lista ulic wpisanych w odpowiedniej tabeli MySQL i sam uzupelnil (jesli uzupelnienie bedzie jednoznaczne) wartosc pola. Chodzi mi tu jak najbardziej o mechanizm PHP a nie o opcje autouzupelniania dostepna przez przegladarke internetowa, ktora uwazam za niewystarczajaca do tego celu.

Jesli ktos mial juz z tym zagadnieniem do czynienia, a mam nadzieje ze tak, to prosze o porady, przykladowy kod obslugujacy te fukcje (kodowanie znakow PHP - MySQL ustanowione jest na UTF-8) i pomoc.
Tubis
Ajax + PHP to rozwiązanie. Ajaxem po wpisaniu pierwszych liter do formularza uruchamiasz skrypt php który pobiera z bazy danych odpowiednie nazwy i przesyła do strony. JS-em obsługujesz to odpowiednio. Jak zbudować cały skrypt jest pokazane w książce AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych
leniu
Posiadam juz te ksiazke i skrypt jest dosc zagmatwany - troche czasu zajmie jego przyswojenie.

Dziala tez na nieco innej zasadzie niz bym tego chcial.

Czy zna ktos metode na takie uzupelnianie na zasadzie wczytania do tablicy danych z tabeli mysql i aby skrypt js uzupelnial pole formularza w locie tymi danymi? Chodzi mi wiec o mechanizm wczytanie danych do tablicy (mozna sobie pozwolic na ich jednoczesne wczytanie ze wzgledu na stosunkowo mala ilosc rekordow) i uzupelnienia pola formularza skryptem js ?
Whisller
http://mootools.net/ + http://digitarald.de/project/autocompleter/ i otrzymasz oczekiwany przez ciebie efekt.
leniu
Witam,

Znalazlem zadowalajacy mnie kod autouzupelniania pol formularza, mam jednak nadal pewien problem. Zawarty kod operuje na pojedynczym polu formularza, a ja potrzebuje nadac autouzupelnianie dla wiekszej ilosci pol. Sprawa jest niby prosta, jednak jakos nie potrafie tego przeskoczyc z braku wymaganej bieglosci w JS.


W gruncie rzeczy sprawa polega na tym, ze... (tu posile sie kodem strony)

Kod
<html>
<head>
<script language="javascript" type="text/javascript" src="actb.js"></script>
<script language="javascript" type="text/javascript" src="common.js"></script>
<script>
var customarray1 = new Array('ANNA','KATARZYNA');
var customarray2 = new Array('LECH','JAN');
</script>
</head>
  
<body>
<input type='text' style='font-family:verdana;width:300px;font-size:12px' id='tb' value=''/>
<input type='text' style='font-family:verdana;width:300px;font-size:12px' id='tba' value=''/>
<script>
var obj1 = actb(document.getElementById('tb'),customarray1);
var obj2 = actb(document.getElementById('tba'),customarray2);
</script>
</body>
</html>


ze... o ile pierwsze i drugie pole formularza sa obslugiwane przez kod JS, to niestety pomimo tego, ze w polu o id='tb' jest odwolanie do obiektu obj1, ktorego parametrem jest tablica customarray1, to niestety dane wyswietlane jako podpowiedz do wprowadzanego tekstu sa danymi z tablicy customarray2. I tu mam problem, ktorego nie potrafie rozwiazac.

Mam nadzieje, ze juz ktos rozpracowal ten watek, lub ktos orientuje sie bardziej w kodzie JS ode mnie. Prosze o pomoc.

Pozdrawiam.

Edit:
Napisalem i znalazlem odpowiedz - bylo wszystko jak na tacy po adresem : www.codeproject.com/KB/scripting/jsactb.aspx
Podaje go tutaj i moze sie przyda komus.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.