简体   繁体   中英

Pjax and form submit not woking in yii2

I'm developing a registration page but some part of this page should be submitted alone. I make some research and found Pjax in yii2 ut what I found in the documentation not working properly with mine.

  1. No tag is created...only a hidden element containing csrf.
  2. On submission, All page is reloaded.

View:

<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>

Controller:

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]);
}

I can't find what is the problem that Pjax not working properly and why submit button reload all the page when is clicked.

The page reloaded because controller throw 500 error. You should change $model->upload() to $model->imageFile->upload() and try catch more issues while controller is processing upload request

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM