Moje rozwiązanie działa połowicznie: domyślnie jest ustawiony r1. Gdy wybiorę r2 - wywoływana jest metoda m2, gdy wybiorę r3 - metoda m3, czyli na razie wszystko ok. Ale problemem jest to, że to nie działa wstecz, po wybraniu r3 próba wybrania r2 albo r1 nie wywołuje metody m2 i m1. Nie wiem w czym problem, może położenie obserwatorów względem radiobuttonów ma znaczenie? Moze potrzebna jest jeszcze jakaś operacja ktorej nie uwzględniłem?
Oto mój kod:
<table cellpadding="0" cellspacing="0"> 'update' => 'pozostale_kroki', 'url' => 'formularz/formstrona', )) ?> <tr><td><?php echo radiobutton_tag('produkt[]', 'portal', false) ?></td><td>portal internetowy</td></tr> 'update' => 'pozostale_kroki', 'url' => 'formularz/formportal', )) ?> 'update' => 'pozostale_kroki', 'url' => 'formularz/formsklep', )) ?> </table>
Metody formsklep, formportal, formstrona renderują tylko tekst - dla uproszczenia.
Doprecyzowując zachowanie tego kodu: gdy wybiorę r2 - odpala m2, następnie r3 - odpala m3 i potem już nic się nie da odpalić. Natomiast odpalając od razu r3 odpala metodę m3 a wybranie r2 odpala m2 - więc nie do końca nie działa wstecz. Po prostu wszystko jest jednorazowe.
Rozwiązałem problem.
1. Jest to problem z prototype
2. Dotyczy właśnie radiobuttonów
3. Jedno z rozwiązań, które akuart ja zastosowałem polega na rezygnacji z observe_field i zastosowaniu zdarzenia onChange dla każdego z radiobuttonów
4. Kod wygląda tak:
Keywords:
- observing + radiobutton
- radiobutton + observe_field
- prototype + radiobutton
Pozdrawiam