![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 2 Dołączył: 5.01.2008 Skąd: Jelenia Góra Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z XAJAXem w moim ulubionym frameworku Code Igniter. Zainstalowałem XAJAX wedle zaleceń WIKI CI. Wszystko chodzilo dobrze dopóki nie spróbowałem wysłać formularza w sekcji meta umiesciłem funkcję JS: Kod <script type="text/javascript"> /* <![CDATA[ */ function submitSignup() { xajax.$('add_submit').disabled=true; xajax.$('add_submit').value="please wait..."; xajax_add__action(xajax.getFormValues('form1')); return false; } /* ]]> */ </script> W kontrolerze za obsługę forma odpowiada metoda: Kod function add() { $this->xajax->registerFunction(array('add__action',&$this,'add__action')); $this->xajax->processRequest(); $this->load->model('b_holiday_venuemodel'); $data['Holiday_Venuelist'] = $this->b_holiday_venuemodel->findAll(); $this->response['content'] = $this->load->view('backend/Holiday_Activity/Holiday_Activitydetails', $data,true); $this->load->view('backend/layout',$this->response); } Za obsługę akcji odpowiada: Kod function add__action($form_data='') { $objResponse = new xajaxResponse(); $objResponse->alert('form wyslany'); return $objResponse; } a tutaj mam taki formularz: Kod <form name="form1" id="form1" action="javascript:void(null);" onsubmit="javascript:submitSignup();return false;"> <input type='text' name='Name_Activity' id='Name_Activity' value='<?= $Name_Activity; ?>' /> <input type="submit" name="Submit" id="add_submit" value="Save"> </form> Po wysłaniu formularza przycisk "save" zmienia wartość na "please wait..." i nic sie nie dzieje, nie wyskakuje okienko alert. Natomiast gdy z funkcji JS z sekcji meta zmienię: Kod xajax_add__action(xajax.getFormValues('form1')); na Kod xajax_add__action(); to wszystko gra (ale z wiadomych przyczyn dane z forma nie są wysłane) Jest coś nie tak, ponieważ zauważyłem, że po kliknięciu na 'save' firebug w konsoli wypisuje, że nie znaleziono funkcji get_instance: Cytat <br /> <b>Fatal error</b>: Call to undefined function get_instance() in <b>/usr/local/apache/htdocs/ci/system/libraries/Input.php</b> on line <b>857</b><br /> Proszę pomóżcie bo dostaję już białej gorączki... Ten post edytował kopczyk 8.02.2008, 16:18:19 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie korzystałem nigdy z xajaxa, ale z tego, co widzę, to wymaga on ingerencji w kod języka server-side (w tym wypadku php). Miałem kiedyś do czynienia z biblioteką, która również tak była zorganizowana. Jej nazwa to Sajax. Jest to nie wygodne i generuje bałagan w aplikacji. Skorzystaj sobie z jakiejś biblioteki do ajaxa, która nie wymaga ingerencji w kod php. Będziesz mógł się wtedy skupić na samym php i nie zawracać sobie głowy takimi problemami, jak ten, który opisujesz. Polecam mintajax i advAJAX. Inne popularne biblioteki też chyba są tak zorganizowane, jak powinny, ponieważ ułatwia to życie i umożliwia ich integrację z różnymi technologiami. Xajax jest jedną z pierwszych bibliotek do obsługi ajaxa w php, dlatego ma tak chybioną implementację tego zbioru technologii.
-------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 23:58 |