Cakephp: сгенерированное Ajax значение текстового поля не отправляется - PullRequest
2 голосов
/ 12 июня 2009

Я немного новичок в CakePHP, я делаю форму для добавления класса и его раздела, для этого я сделал контроллер, код которого такой вот --- addclasses_controller.php

макет = «внутренний»; $ Session_id = $ this-> session-> прочитать ( 'user.id'); $ username = $ this-> User-> find ('all', массив ('condition' => array ('User.id' => $ session_id))); $ This-> набор ( 'session_id', $ имя пользователя); } функция add () { $ this-> layout = 'internal'; $ Session_id = $ this-> session-> прочитать ( 'user.id'); $ username = $ this-> User-> find ('all', массив ('condition' => array ('User.id' => $ session_id))); $ This-> набор ( 'session_id', $ имя пользователя); if (! empty ($ this-> data)) { $ This-> Addclass-> создать (); $ Этом-> красный [ 'Addclass'] = массив ( 'имя_класса' => $ этом-> данные [ 'Addclass'] [ 'имя_класса'], 'раздел' => $ этом-> данные [ 'Addclass'] [ 'раздел']); if (!! $ this-> Addclass-> save ($ this-> red)) { $ Lastid = $ this-> Addclass-> идентификатор; $ this-> Session-> setFlash ('Категории сохранены!'); $ this-> redirect (array ('action' => 'add'), null, true); } } } function isAuthorized () { вернуть истину; } функция addsection () { $ Noofsection = $ этом-> данные [ 'Addclass'] [ 'раздел']; $ This-> набор ( 'noofsection', $ noofsection); } } ?>

и код add.ctp -

Добавить класс create ('Addclass', array ('url' => array ('controller' => 'addclasses', 'action' => 'add'))); ?> Class Nametext ('classname', array ('class' => 'users')); ?> Номер раздела, который вы хотите добавить в текст («раздел», массив («класс» => «пользователи»)); ?> наблюдайте поле ('AddclassSection', массив ('url' => массив ('действие' => 'addsection'), 'частота' => 0,2, 'onChange' => true, 'update' => 'работодатели')); ?> конец ( 'Submit');?>

и модель, которую я использовал для этого --- addclass.php

Section- "value =" "class =" users "name =" "/> ////////////////////////////////////////////////// /////////////////////////////////// я пытаюсь получить доступ к сгенерированному текстовому значению ajax в моем контроллере добавления, когда форма подчинена, она обращается только к тем, которые статичны в форме, для проверки этого у меня есть отладка ($ this-> data); я получил только два значения --- ** `Пожалуйста, помогите моей проблеме, мне действительно нужно это в моем проекте CakePHP. ** ?>

Ответы [ 2 ]

1 голос
/ 02 сентября 2010

По моему опыту, помощник по ajax в торте работает плохо. Я заменил его для работы с JQuery. Вы можете прочитать больше об этом здесь .

0 голосов
/ 03 сентября 2010

Согласитесь с cdburgess - по моему опыту, помощник AJAX в CakePHP предназначен для очень ограниченной и (на мой взгляд) не очень полезной цели, а именно, щелкая ссылки и обновляя div с результатом. В итоге я использовал Prototype / Scriptaculous (который лучше интегрирован с CakePHP, чем jQuery) для ручного выполнения AJAX, используя функциональность Prototype AJAX с CakePHP RequestHandler , чтобы определить, когда возвращать AJAX.

Но если вы делаете не больше, чем обновление блоков, в Reverse Folds есть хорошая статья об использовании помощника CakePHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...