多个renderAjax表单问题Yii2

时间:2017-02-09 16:06:37

标签: php yii2 ajaxform

我正在渲染ajax表单

  public function actionUser()
{

    $model = new UserInfoForm();
    $model->user_id = $this->user->id;
    $validation = $this->performAjaxValidation($model);

    if(null !== $validation){
        return $validation;
    }

    $user = Yii::$app->user->identity;
    return $this->renderAjax('user.php',[
            'error' => $error,
            'user'  => $user,
            'model' => $model
            ]);

}

在user.php中,我有以下行来获取所有用户公司和工作

 <a href="<?= Url::to(['user/details', 'id' => $user_id]) ?>">Show User Companies and Jobs</a>

现在处于用户详细信息操作

public function actiondetails()
    {

        $model = new UserJobsForm();
        $validation = $this->performAjaxValidation($model);

        if(null !== $validation){
            return $validation;
        }

        $companies = Companies::getUserCompanies();
        $jobs =  BlogPost::getUserJobs();

        return $this->renderAjax('user_info.php',[
                'error' => $error,
                'model' => $model,
                'companies' => $companies,
                'jobs' => $jobs
        ]);

    }

在我的user_info.php视图页面中,我可以看到所有细节。我也看到了user.php视图页面,这是因为,我在user.php上呈现user_info页面。我的要求是不要在新页面中打开。所以我试图在user.php上呈现。我想在user_info.php渲染后立即关闭user.php。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果您只想关闭另一个模态,可以在user_info视图中调用下面的脚本

<script type="text/javascript">

    $(function(){
       $('#id_of_user_modal').modal('hide');
    });

</script>