タイトルの通り、モーダルポップアップボックス+ajaxを使用してフォームを送信します。 まず、インデックスビューの作成ボタンにdata-toggleとdata-targetを追加します。
コードは次のとおりです:
<?php echo Html::a('添加请假单', ['create'], ['class' => 'btn btn-success','data-toggle'=>'modal','data-target'=>'#ajax']) ?>
モーダルポップアップボックスを表示するには、インデックスビューに次のコードを追加します:
<div class="modal bs-example-modal-lg" id="ajax"> <div class="modal-dialog"> <div class="modal-content width_reset" id="tmpl-modal-output-render"> </div> </div> </div>
変更された効果は次のとおりです
次に、コントローラーの create メソッドを変更します。render を renderAjax に変更するだけです
return $this->renderAjax('create', [ 'model' => $model, ]);
フォーム検証を追加したい場合は、ビューの _form を変更して id
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data'],'id'=>'leave-form-self']) ?> 指向 你的models 在rules添加上验证规则 public function rules() { return [ [['t_leave_date', 't_days', 't_reason', 't_nickname','t_leave_enddate'], 'required'], [['t_leave_date', 't_leave_enddate'], 'safe'], [['t_days'], 'number'], [['t_reason'], 'string'], [['type', 'add_time', 'uid', 'update_time', 'status', 'is_shen'], 'integer'], [['t_pickup', 't_nickname', 't_pass'], 'string', 'max' => 20], [['t_img', 'reviewer_user', 'audit_user'], 'string', 'max' => 255] ]; }
を追加する必要があります
は次のとおりです
これは仕組みです Ajax 送信フォーム
Yii2.0 モーダル ポップアップ ボックス + Ajax 送信フォーム関連の記事については、PHP 中国語 Web サイトに注目してください。