Formularz znajduje się w akcji: trainings/addexercise
Mój kod wygląda tak:
//kontroler trainingsController.php public function init() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('ajax-check', 'html') ->initContext(); $this->view->headScript()->prependScript( 'module' => 'default', 'controller' => 'trainings', 'action' => 'ajax-check', 'format' => 'html'), 'default', 'false') . "'" ); } public function ajaxCheckAction() { //zwracamy z formularza wartosc pola select $switcher = $this->_request->getParam('type'); if (!$switcher) { $this->view->json = My_Util::validatorMessages($f->getMessages()); } switch ($switcher) { case 1: $this->view->json ='aaaa'; break; case 2: $this->view->json ='bbbb'; break; case 3: $this->view->json ='cccc'; break; case 4: $this->view->json ='dddd'; break; default: $this->view->json ='eeee'; } } //widok ajax-check.ajax.phtml //formularz fragment z przycisku do którego jest doczepiane zdarzenie onchange 'label' => 'Wybierz typ ćwiczenia', 1 => 'Dodanie pliku ćwiczeniowego', 2 => 'Dodanie pliku prezentacji Power Point widocznego bezpośrednio ze strony', 3 => 'Dodanie filmiku widocznego bezpośrednio ze strony', 4 => 'Dodanie formularza zapytań', ), ) ));
JS ladowany globalnie
function ajaxSuccess(data){ alert(data); } function ajax_check() { $.ajax({ type: 'POST', url: ajaxUrl, data: this.name + '=' + this.value, success: ajaxSuccess, context: this }); } //Simple event handler for jQuery $(document).ready( function bind() { $('legend a.clicker').click(toggle_div); $('select #type').change(ajax_check); } );
Jak wywołuje: http://localhost/learning/public/trainings/ajax-check/format/html to dostaje info, że
Exception information:
Message: script 'trainings/ajax-check.phtml' not found in path (C:/wamp/www/learning/application/views\scripts/)