em_pl
8.04.2007, 19:02:10
Hej
Chcę zrobić automatyczne zatwierdzenie zmiany po wybraniu danej opcji z pola select.
Chciałbym jednak, aby system zapytał się czy chcę dokonać zmiany, po wyborze nowego elementu.
Więc zrobiłem
onchange="if(!confirm(...) return false; form.submit()"
i wszystko byłoby ok, ale chciałbym aby po kliknięciu w "cancel" system wrócił do pierwotnej wartości tego selecta (czyli do pierwotnego zaznaczenia).
Czy mógłby mnie ktoś nakierować jakiej metody mam do tego użyć?
Pozdrawiam serdecznie
----
edited:
w sumie znalazłem: form.reset(), jednakże w innym zastosowaniu wywaliłoby mi to wszystkie dane z formularza, więc pytanie może zostać otwarte, jeśli zarząd pozwoli:)
W funkcji, ktora odopowiada za obsluzenie zdarzenia onchange zapisujesz selectedIndex do zmiennej globalnej, np: var active_selected.
misiek172
13.04.2007, 15:41:47
no ale po co...
dziwne pytanie...
przecierz konstrukcji if to
if (coś) {...to..}else{...to...}
chyba ze zle zrozumiałem

ale jesli juz chcesz cos zapisywać to zapisz do cookie
marcini82
22.08.2007, 11:19:50
Wlasnie mialem podobny problem, podam jak go rozwiazalem, moze sie przyda.
Zrobilem cos takiego:
<select name="costam" onchange="zrobCos(form);" onfocus="this.prevIndex = this.options.selectedIndex">
I teraz obslugujac onchange, w form.costam.prevIndex mamy zawsze index poprzednio wybranego elementu