То, что я пытаюсь сделать здесь, - это вставить в таблицу некоторые значения, передав их из AjaxSubmitButton и вызывая контроллер/действие.ajaxSubmitButton: INSERT issue
Вот действие контроллера первого
public function actionAddit()
{
$connection = yii::app()->db;
$transaction=$connection->beginTransaction();
try
{
$connection = yii::app()->db;
$sql1 = "INSERT INTO apTracker (id, title,createdDate,owner) VALUES(:id, :title,:createdDate,:owner)";
$command=$connection->createCommand($sql1);
$command->bindValue(":id", $_POST['id']);
$command->bindValue(":title", $_POST['title']);
$command->bindValue(":createdDate", new CDbExpression('NOW()'));
$command->bindValue(":owner", $_POST['o']);
$command->execute();
$transaction->commit();
}
catch(Exception $e)
{
$transaction->rollBack();
$this->refresh;
}
И вот Ajaxbutton в файле вида:
<?php echo CHtml::ajaxSubmitButton('Yes!',
array('/entry/addit'),
array(
'type'=>'POST',
'data' => array('id' => '1','title' => 'Untitled','o'=>'6'),
'success' => 'js:function(){window.location="site/message"}',
));?>
Ну, я не знаю, что именно это, но он не работает. Однако, если я удаляю команду bindvalue и hardcode некоторые значения в самом sql-запросе, он работает. Итак, я предполагаю, что проблема может заключаться в передаче значений из части AjaxSubmit в контроллер. Я делаю что-то неправильно здесь, но не могу точно понять, что. Любая помощь ребята?
EDIT: Хорошо, Извините за изменение путаницы, вопрос вернется к его первоначальной форме.
Я уже опробовал решение eggyal, однако, я все еще не могу заставить его работать.
Есть ошибки на сайте? Как вы визуализируете представление? Просто попробовал на месте, отлично работает. –
Вид отображается как модальная форма (Bootstrap CSS). AjaxButton находится в этой модальной форме. Это может быть проблемой? – redGREENblue
Зависит от того, как вы его визуализируете. Для этого нужен jquery, поэтому, если вы передаете его с помощью функции rednerPartial, возможно, это проблема. –