Zaimplementowalem juz prawidlowo skrypt autouzupelniania pol formularza danymi z tablicy. Chcialbym obecnie dodac opcje, ktora w zaleznosci od zawartosci pola formularza bedzie operowala na wlasciwej tablicy danych - chcialbym zatem aby po wpisaniu w polu miejscowosc nazwy miejscowosci A w polu nastepnym do wyboru w opcji autouzupelniania byly ulice z tabeli ulice_A, a przy wpisaniu nazwy miejscowosci B ulice z taleli ulice_B.
Skrypt autouzupelniania wywolywany jest za pomoca:
obj1 = new actb(document.getElementById('pole_miejscowosc'),miejscowosc);
gdzie pole_miejscowosc jest nazwa pola w formularzu a miejscowosc to tablica nazw miejscowosci.
Jak sie domyslam po wpisaniu w pole miejscowosci przykladowo WARSZAWA wartosc document.getElementById('pole_miejscowosc') powinna byc rowna 'WARSZAWA' i tu pewnie moznaby zastosowac jakies if'y. Probowalem z tym juz zabawe (probowalem cos w stylu :
if (getElementById('pole_miejscowosc') == 'WARSZAWA') obj1 = new actb(document.getElementById('pole_ulice_warszawy'),ulice_WARSZAWA);
else...
), ale niestety poleglem. Prosze zatem o pomoc.
Mam tez drugie pytanie, gdyz potem bede musial i tak to walidowac. W jaki sposob sprawdzic czy wartosc wprowadzanego pola znajduje sie w tablicy, ale z poziomu PHP, bo sprawdzal bede przed wprowadzeniem juz pod PHP. Czyli w gruncie rzeczy jak sprawdzic czy $_POST['ulica'] znajduje sie w js'owym var ulica = new Array('A','B','C',...);
Pozdr.
Problem rozwiazany.
Na pole formularza, ktorego zawartosc miala byc zmienna dla skryptu JS inicjowanego w polu kolejnym zalozylem event:
Kod
onblur="tablicaUlicAdr(this);"
i napisalem odpowiednia funkcje zajmujaca sie tym zdarzeniem:
Kod
function tablicaUlicAdr()
{
var adr_ms = document.nazwa_formularza.nazwa_pola.value;
if (adr_ms == 'PRZEMYŚL') obj6 = new actb(document.getElementById('nazwa_pola_formularza'),nazwa_tablicy_ulic);
else if (adr_ms == 'JAROSŁAW') obj6 = new actb(document.getElementById('nazwa_pola_formularza'),nazwa_tablicy_ulic);
else obj6 = new actb(document.getElementById('nazwa_pola_formularza'),pusta);
}
{
var adr_ms = document.nazwa_formularza.nazwa_pola.value;
if (adr_ms == 'PRZEMYŚL') obj6 = new actb(document.getElementById('nazwa_pola_formularza'),nazwa_tablicy_ulic);
else if (adr_ms == 'JAROSŁAW') obj6 = new actb(document.getElementById('nazwa_pola_formularza'),nazwa_tablicy_ulic);
else obj6 = new actb(document.getElementById('nazwa_pola_formularza'),pusta);
}
No i wszystko dziala jak nalezy - nie wiem jak optymalizacyjnie i wydajnosciowo to stoi, ale przynajmniej robi to, co ma robic.
Teraz czeka mnie walidacja danych z poziomu PHP. Do tego zadania musze dokonac sprawdzenia czy zmienna $_POST['x'] nalezy do tablicy zdefiniowanej w JS jako var ulica = new Array('A','B','C',...). Powie mi ktos jak to zaimplementowac? Moze nie bede musial sam do tego dochodzic

