Создаю свою форму регистрации, основанную на Yii2-user. Но это не суть. А суть в том, что из контроллера SiteController
мне нужно выполнить js-код
Такой способ не работает:
echo "<script language='javascript'>$.snackbar({content: \"This is my awesome snackbar!\"});</script>";
Для особо любопытных - actionIndex
public function actionIndex()
{
$model_register = \Yii::createObject(RegistrationForm::className());
$model_login = \Yii::createObject(LoginForm::className());
if ($model_register->load(\Yii::$app->request->post()) && $model_register->register()) {
// Вот здесь нужно выполнить функцию
echo "<script language='javascript'>$.snackbar({content: \"This is my awesome snackbar!\"});</script>";
}
if ($model_login->load(\Yii::$app->getRequest()->post()) && $model_login->login()) {
return $this->goBack();
}
return $this->render('index',['model_register'=>$model_register, 'model_login'=>$model_login]);
}
Так нельзя поступать, js надо выполнять в представлении, но не в контроллере. Просто в представление прокиньте какой-нибудь флаг, который будет результатом проверки $model_register->load(\Yii::$app->request->post()) && $model_register->register()
, и в зависимости от результата выводите или нет нужный js.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как с помощью jQuery обновить DIV после загрузки страницы?