【问题标题】:Form action url not working in yii2 framework表单操作 url 在 yii2 框架中不起作用
【发布时间】:2019-11-11 07:09:58
【问题描述】:
<?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() ?>

这是我的表单,在检查元素操作中未显示。

【问题讨论】:

    标签: yii2 yii2-basic-app


    【解决方案1】:

    您的代码中有两个主要问题。

    第一个是,带有 url 的数组的格式应为 ['controller-id/action-id'],但您的 url 的格式为 ['ControllerClass/actionMethod']

    第二个是action 在您的数组中的位置。正如 Sfili_81 在他的回答 https://stackoverflow.com/a/58797242/11977068

    中提到的

    所以正确的代码应该是这样的:

    $form = ActiveForm::begin([
        'action' => ['site/upload-image'],
        'method' => 'post',
        'options' => ['enctype' => 'multipart/form-data'],
    ]);
    
    

    此外,从 yii 2.0.8 开始,如果您使用 ActiveForm,则无需显式使用 enctype 选项。调用$form-&gt;field(...)-&gt;fileInput() 将确保正确的enctype。

    【讨论】:

      【解决方案2】:

      您必须在选项之外编写操作,如下所示:

      <?php $form = ActiveForm::begin(['action' => ['SiteController/actionUploadImage'],'method' => 'post']) ?>
      

      [documentation]

      【讨论】:

        猜你喜欢
        • 2015-01-19
        • 2017-09-17
        • 1970-01-01
        • 1970-01-01
        • 2022-07-15
        • 1970-01-01
        • 1970-01-01
        • 2014-12-01
        • 2017-09-01
        相关资源
        最近更新 更多