Кнопкой вызывается модальное окно
<div class="zakaz-reminderForm">
<?php $form = ActiveForm::begin([
'id' => 'shippingZakaz'
]); ?>
<?= $form->field($comment, 'id_user')->hiddenInput(['value' => Yii::$app->user->id])->label(false) ?>
<?= $form->field($comment, 'id_zakaz')->hiddenInput(['value' => $model])->label(false) ?>
<?= $form-> field($comment, 'comment')->textInput(['placeholder' => 'Что', 'class' => 'inputForm', 'style' => 'float:left'])->label(false) ?>
<?= $form->field($comment, 'date')->widget(DateTimePicker::className() ,[
'pluginOptions' => [
'autoclose'=>true,
'startDate' => 'php Y-m-d H:i:s',
'todayBtn' => true,
'todayHighlight' => true,
],
'options' => [
'placeholder' => 'Срок',
],
])->label(false) ?>
<div class="form-group">
<?= Html::submitButton('Отправить', ['class' => 'action']) ?>
</div>
<?php ActiveForm::end(); ?>
Все работает, данные отправляют и сохраняются, но при вызове самбит баттон страница перезагружается, хочу сделать чтобы данные просто отправлялись в бд и закрывалось модальное окно.
Добавил в форму модального окна после активформ скрипт
<?php
$js = <<<JS
$('form').on('beforeSubmit', function(){
var data = $(this).serialize();
$.ajax({
url: '/comment/create-reminder',
type: 'POST',
data: data,
success: function(res){
console.log(res);
},
error: function(){
alert('Error!');
}
});
return false;
});
JS;
$this->registerJs($js);
?>
Который насколько я понял перехватывает события после нажатия на кнопку и сам отправляет данные.
Но я не могу понять что указывать в урл для отправки.
Функция в контроллере.
public function actionCreateReminder($id)
{
$model = $id;
$comment = new Comment();
$notification = new Notification();
if ($comment->load(Yii::$app->request->post()) && $comment->validate()) {
$comment->save();//сохранение напоминаниея
if (!$comment->save()) {
print_r($comment->getErrors());
} else {
if(Yii::$app->request->isAjax){
if ($comment->load(Yii::$app->request->post()) && $comment->validate()) {
if (!$comment->save()) {
print_r($comment->getErrors());
}
Yii::$app->session->addFlash('update', 'Напоминание успешно создано');
}
return $this->redirect(['zakaz/admin', '#' => $model->id_zakaz]);
}
/** @var $model \app\models\Zakaz */
Yii::$app->session->addFlash('update', 'Напоминание успешно создано');
$notification->getByIdNotificationComments( '13', $comment, $id_sotrud_put= null,$zakaz= null);
$notification->getSaveNotification();
}
return $this->redirect(['zakaz/admin', '#' => $model->id_zakaz]);
}
return $this->renderAjax('create-reminder', [
'model' => $model,
'comment' => $comment
]);
}