Мучает проблема, из того, что удалось прочитать, понимаю, что не меня одного. (Недавно в Yii)
Суть:
Есть контроллер MyController.
В нем два метода account и create
Вызвали mycontroller/account получили наши записи. Захотели создать еще одну запись, нажали ссылочку/кнопочку(не важно) которая вызывает наш второй метод - create. Получили AJAXом форму, пока все прекрасно. Заполнили, нажали и все стало грустно. А именно, нам бы хотелось и обрабатывать форму через AJAX, но не тут-то было, форма создается через renderPartial('mycontroller/create') и при сабмите, вместо того, чтобы честно обновиться в отведенном ей на странице месте, переходит на страницу mycontroller/create.
Вопрос, как вызванную через AJAX форму, по AJAXу же и сабмитить, без перехода на страницу формы.
Код: Выделить всё
class MyController extends MController
{
public function actionCreate()
{
echo $this->renderPartial('create', array('model'=>$model),true);
}
public function actionAccount()
{
$this->renderPartial('account');
}
}
Код: Выделить всё
$this->widget('ext.EasyTabs.EasyTabs', array(
'tabs'=>array(
array(
'title' => 'Запись',
'url'=>'create',
),
'options' => '', // the options to pass to jQuery EasyTabs plugin
'baseScriptUrl' => '', // путь к JavaScript файлам
'cssFile' => '', // путь к CSS файлам
)
);
Код: Выделить всё
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'form',
'enableAjaxValidation'=>true,
));
?>
<div class="row">
<?php echo $form->textField($model,'account',array('name'=>'account')); ?>
<?php echo $form->labelEx($model,'Запись',array('for'=>'account')); ?>
<?php echo $form->error($model,'account'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Создать',array('name' => 'submit', 'class' => 'form_submit')); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->