この記事は主に この記事では、ActiveForm ajax 送信を実装するための Yii2 の関連情報を詳しく紹介します。興味のある方は参考にしてください。プロジェクトを実行するとき、特にバックグラウンドで送信するときは、必ず ajax 送信機能に遭遇します。一般的にはモデルを使用して自動的に生成されるため、この機能は使用頻度が高くなります。プロセスを理解していれば、操作は非常に簡単で便利です。
フォーム部分<?php $form = ActiveForm::begin([ 'action' => ['save'], //提交地址(*可省略*) 'method'=>'post', //提交方法(*可省略默认POST*) 'id' => 'form-save', //设置ID属性 'options' => [ 'class' => 'form-horizontal', //设置class属性 ], 'enableAjaxValidation' => true, 'validationUrl' => 'validate-view', ]); ?> <?php echo $form->field($model,'company_name', ['inputOptions' => ['placeholder'=>'请输入商家名称','class' => 'form-control'], 'template'=>'<label for="inputCompanyName" class="col-sm-1 control-label"><span class="text-red">*</span> 商家名称</label><p class="col-md-8">{input}</p><label class="col-sm-3" for="inputError">{error}</label>'])->textInput()?> <?=Html::submitButton('保存',['class'=>'btn btn-primary']); ?> <?php ActiveForm::end(); ?>
その中に: 'enableAjaxValidation' => true、ajaxで送信するようにフォームに指示するために設定する必要があります
Controller(コントローラー)部分
コントローラーは2つの部分に分かれています1 つの部分は効果であり、もう 1 つの部分はフォームの正しさの保存です
public function actionValidateView()
{
$model = new model();
$request = \Yii::$app->getRequest();
if ($request->isPost && $model->load($request->post())) {
\Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
アヤックスフォームから送信
public function actionSave() { \Yii::$app->response->format = Response::FORMAT_JSON; $params = Yii::$app->request->post(); $model = $this->findModel($params[id]); if (Yii::$app->request->isPost && $model->load($params)) { return ['success' => $model->save()]; } else{ return ['code'=>'error']; } }
具体的な操作プロセスはトライアルプロジェクトによって異なりますが、基本的な操作プロセスは同じです。
関連する推奨事項:
Yii2 フォームイベント Ajax 送信実装方法
以上がYii2 は ActiveForm Ajax 送信を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。