Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Autowykrywanie zmiany wartości autowypełnianego pola formularza
Forum PHP.pl > Forum > Po stronie przeglądarki
tomzoll
Witam serdecznie. Bardzo proszę o naprowadzenie jak mógłbym rozwiązać taki problem:

Mam taki oto formularz:

<form>
<input type="text" id=""miasto">
<input type="text" id=""dlugosc">
<input type="text" id=""szerokosc">
<input type="text" id="strefa czasowa">
</form>


Pole miasto jest wpisywane przez użytkownika, co jest połączone z jquery UI autocomplete oraz skryptem wyszukującym w bazie danych w wyniku czego użytkownik wybiera miasto z tych dostępnych w bazie danych. Do miast w bazie przypisane są również współrzędne geograficzne. Po wpisaniu miasta, automatycznie zostają uzupełnione inputy długości i szerokości geograficznej. Na podstawie wartości współrzędnych geograficznych działa funkcja js która oblicza numer strefy czasowej.

W jaki sposób napisać kod, aby strefa czasowa była automatycznie wypełniana (a raczej uruchamiany skrypt służący do jej obliczenia) po autowypełnieniu pól długości i szerokości geograficznej?

Ps. Nie ma problemu jeśli jako wyzwalacz funkcji strefy czasowej ustawię zdarzenie onChange - wtedy działa. Problem w tym, że pola te są wypełniane automatycznie i nie wiem jakie zdarzenie mam przypisać w tym przypadku do uruchomienia funkcji. Dodam, że pola długości i szerokości geograficznej są nieaktywne do wpisywania danych przez użytkownika.

Z góry dziękuję za pomoc.
Pozdrawiam
Damonsson
Skoro użytkownika ma wpisać tylko miasto, to po co robisz dlugosc/szerokosc/strefa czasowa jako inputy? ohmy.gif
Pawel_W
Cytat(tomzoll @ 13.12.2011, 23:15:00 ) *
Problem w tym, że pola te są wypełniane automatycznie

skoro są wypełniane automatycznie, to jest za to odpowiedzialny jakiś fragment kodu - wystarczy go znaleźć i dodać po nim wywołanie funkcji obliczającej strefę czasową smile.gif
tomzoll
Cytat(Damonsson @ 13.12.2011, 23:36:34 ) *
Skoro użytkownika ma wpisać tylko miasto, to po co robisz dlugosc/szerokosc/strefa czasowa jako inputy? ohmy.gif


Dlatego, że nie każda miejscowość w bazie ma przypisaną długość i szerokość geograficzną. W sytuacji gdy nie ma tych współrzędnych w bazie, użytkownik wpisuje je z ręki (np. prowadzi obserwację nie w centrum miasta a w szczerym polu i musi wpisać współrzędne wg wskazań gps ręcznie.) Odnośnie strefy czasowej to podałem ją tylko jako przykład, gdy właściwie to zamiast stref czasowych obliczany jest na podstawie współrzędnych nr kwadratu PAO. Skrypt obliczający nr kwadratu obejmuje tylko dany region geograficzny i dla niego te wartości są obliczane. Poza danym regionem goegraficznym użytkownik musi wpisać ręcznie nr kwadratu. To w celu wyjaśnienia dlaczego inputy.

Cytat
skoro są wypełniane automatycznie, to jest za to odpowiedzialny jakiś fragment kodu - wystarczy go znaleźć i dodać po nim wywołanie funkcji obliczającej strefę czasową smile.gif


Za autowypełnianie miasta i współrzędnych geograficznych odpowiada UI Autocomplete jquery, który za pomocą skryptu PHP wyszukuje w bazie żądane informacje. Tylko jak wywołać funkcję js po wykryciu pojawienia się danych w polu współrzędnych geograficznych ?

Ponawiam pytanie smile.gif Czy jest jakaś możliwość wykrycia zmiany wartości elementu input, dokonanego np. przez skrypt obliczający JS ?:)metody onChange,onBlur itp odpadają,gdyż metody te wykrywają zmiany dokonane w wyniku interakcji z użytkownikiem...
lenrok258
Cytat(tomzoll @ 13.12.2011, 23:15:00 ) *
Pole miasto jest wpisywane przez użytkownika, co jest połączone z jquery UI autocomplete oraz skryptem wyszukującym w bazie danych w wyniku czego użytkownik wybiera miasto z tych dostępnych w bazie danych. Do miast w bazie przypisane są również współrzędne geograficzne.


Skąd masz bazę danych miejscowości wraz ze współrzędnymi geograficznymi?
Czy są to wszystkie miejscowości czy tylko największe miasta?

Ja potrzebuje wszystkie możliwe miejscowości w Polsce ale nie mogę znaleźć w sieci darmowej bazy.
Z płatnych jest jedna na bazy.hoga.pl i druga na www.bazamiejscowosci.pl.

Dzieki!
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.