表单操作 url 在 yii2 框架中不起作用
Form action url not working in yii2 framework
<?php $form = ActiveForm::begin(['options' => ['action'=>'SiteController/actionUploadImage','method'=>'post','enctype' => 'multipart/form-data']]) ?>
<?= $form->field($model, 'image')->fileInput() ?>
<button>Submit</button>
<?php ActiveForm::end() ?>
这是我的表单,在检查元素操作中未显示。
您必须像这样在选项之外编写操作:
<?php $form = ActiveForm::begin(['action' => ['SiteController/actionUploadImage'],'method' => 'post']) ?>
您的代码中存在 2 个主要问题。
第一个是,带有 url 的数组应该具有 ['controller-id/action-id']
的格式,但是您的 url 具有 ['ControllerClass/actionMethod']
.
的格式
第二个是 action
在你的数组中的位置。正如Sfili_81在他的回答
中提到的
所以正确的代码应该是这样的:
$form = ActiveForm::begin([
'action' => ['site/upload-image'],
'method' => 'post',
'options' => ['enctype' => 'multipart/form-data'],
]);
此外,自 yii 2.0.8 起,如果您使用 ActiveForm,则无需显式使用 enctype
选项。调用 $form->field(...)->fileInput()
将确保正确的加密类型。
<?php $form = ActiveForm::begin(['options' => ['action'=>'SiteController/actionUploadImage','method'=>'post','enctype' => 'multipart/form-data']]) ?>
<?= $form->field($model, 'image')->fileInput() ?>
<button>Submit</button>
<?php ActiveForm::end() ?>
这是我的表单,在检查元素操作中未显示。
您必须像这样在选项之外编写操作:
<?php $form = ActiveForm::begin(['action' => ['SiteController/actionUploadImage'],'method' => 'post']) ?>
您的代码中存在 2 个主要问题。
第一个是,带有 url 的数组应该具有 ['controller-id/action-id']
的格式,但是您的 url 具有 ['ControllerClass/actionMethod']
.
第二个是 action
在你的数组中的位置。正如Sfili_81在他的回答
所以正确的代码应该是这样的:
$form = ActiveForm::begin([
'action' => ['site/upload-image'],
'method' => 'post',
'options' => ['enctype' => 'multipart/form-data'],
]);
此外,自 yii 2.0.8 起,如果您使用 ActiveForm,则无需显式使用 enctype
选项。调用 $form->field(...)->fileInput()
将确保正确的加密类型。