Как вывести текст после отправки формы?

Создал форму обратной связи, которая отправляет письма, а так же добавляет в бд всю инфу "отправителя формы".
Но, как после отправки формы вывести какую-то модалку, с каким-либо текстом?

у меня на данный момент всего лишь идет перезагрузка страницы

actionIndex, в котором происходит обработка формы
public function actionIndex()
    {
        $this->layout = 'template-index';
        $category = Category::find()->all();
        $collection = Collection::find()->all();
        $model = new Callrequest();
        if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->save()) {
            if ($model->sendEmail(Yii::$app->params['adminEmail'])) {
                Yii::$app->session->setFlash('success', 'Thank you for contacting us. We will respond to you as soon as possible.');
            } else {
                Yii::$app->session->setFlash('error', 'There was an error sending your message.');
            }
            return $this->refresh();
        } else {
            return $this->render('index',
                [
                    'category' => $category,
                    'collection' => $collection,
                    'model' => $model
                ]);
        }
    }
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Сделайте отправку данных через ajax. При успешной отправке показывайтесь модальное окно. В таком случае вам не нужны flash сообщения.

Если же хотите использовать в таком виде, то добавьте модальное окно в index. Открытие модального окна будет зависеть от сессии, как сделано в flash сообщениях.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы