observe_form i dropdown list

Mam observe_form i dropdown liste (select -> option…)
Wszystko dziala, ale… za dobrze …
observe_form reaguje nawet gdy tylko przegladam pozycje na dropdown liscie “jezdząc” po pozycjach myszką.
Wg mnie powinno zadziałać po wybraniu konkretnej pozycji z listy.
Czy ktos wie, jak to osiagnac?

z gory dzieki

Spróbuj usunąć z parametrów observe_form :frequency

  • w przypadku samej listy u mnie działało po kliknięciu myszką, dokładnie tak jak opisałaś.

jak usunę frequency to i owszem… działa ok
ale na stronie mam tez searcha, (zwykly input) i jak nie ma frequency to on nie reaguje na wpisywany tekst, tylko dopiero po opuszczeniu inputa, czyli jak jedno działa ok, to drugie szwankuje. Można to jakoś pogodzić?

Nigdy nie korzystalem z observe_form, byc moze to jakis blad w implementacji, badz nie spelnia zalozen ktore oczekujesz, wkoncu observe_form obserwuje caly formularz, a rozne pola maja w zasadzie rozne zachowanie. Zawsze mozsz uzyc observe_field na kazde pole odzielnie. Jedno z frequency, a drugie bez. Mozesz tez ustawic callback onchange dla pola select na funkcje ktora robi jest wywolywana przez observer_form.

Hmm… z tego co sprawdzilem, to callback onchange dla pol tekstowych w formularzu jest wywolywany dopiero po zmianie focus’a na inne pole. A wiec w gre wchodza tylko 2 opcje, :frequency lub callback onkeydown

hmmm, a jak zrobic, zeby callback byl na onkeydown?

text_field ‘obiekt’, ‘metoda’, :onkeydown => ‘funkcja()’

Np tak. Jest tez jeszcze lowpro.js :slight_smile:

http://blog.drogomir.com/articles/2007/12/25/nieinwazyjny-javascript-razem-z-ruby-on-rails
http://www.danwebb.net/2006/9/3/low-pro-unobtrusive-scripting-for-prototype

Ogolnie… jesli ciebie to interesuje to poszukaj w googlach lowpro to bardzo fajny sposob odzielenia warstwy js od html.

Klucze przy szukaniu to: ujs, unobstructive javacript, lowpro