Pjax和表单在yii2中不提交

时间:2016-12-29 09:09:22

标签: php yii2 pjax

我正在开发注册页面,但此页面的某些部分应该单独提交。我进行了一些研究,发现了我在文档中发现的Pjax与我的工作不正常。

  1. 未创建任何标记...只包含包含csrf的隐藏元素。
  2. 提交时,重新加载所有页面。
  3. 查看:

    <div class="row profileimg">
        <?php Pjax::begin(['timeout' => 40000, 'id' => 'myPjax',]); ?>
        <?= Html::beginForm(['couple-partner/saveprofileimg'], 'post', ['id' => 'CouplePartnerSumb', 'data-pjax' => true, 'class' => 'form-inline']);                          ?>
    
        <div class="col-lg-12" onmouseover="onmouseOverImg('FirstPartnerEditButton', 'FirstPartnerDelButton');" onmouseout="onmouseoutImg('FirstPartnerEditButton', 'FirstPartnerDelButton')" id="imgdiv" style="display:inline-block;position: relative;left : 35%;height: 110px;width: 150px;">
            <img src="<?= $models != NULL && sizeof($models) > 0 && $models[0]->USER_PROFILE_PIC != NULL ? $models[0]->USER_PROFILE_PIC : "" ?>" style="cursor: pointer;width:100%;height:100% " id="firstPartnerProfilePic" class="img-thumbnail ">
            <?= Html::fileInput('imageFile', '') ?>
    
            <?php echo Html::submitButton('Upload', ['class' => 'btn btn-primary', 'id' => 'submit_iddddd',]) ?>
    
        </div>
        <?php echo Html::endForm();Pjax::end();?>
    </div>
    

    控制器:

    public function actionSaveprofileimg() {
        $model = new CouplePartner();
    
        if (Yii::$app->request->isAjax) {
            $model->imageFile = UploadedFile::getInstance($model, 'imageFile');
            if ($model->upload()) {
                // file is uploaded successfully
                return;
            }
        }
    
        return $this->renderAjax('index', ['model' => $model]);
    }
    

    我无法找到Pjax无法正常工作的问题以及为什么提交按钮会在点击时重新加载所有页面。

1 个答案:

答案 0 :(得分:0)

页面重新加载,因为控制器抛出500错误。 你应该改变 $model->upload() $model->imageFile->upload() 并在控制器处理上传请求时尝试捕获更多问题