2020-04-02 11:32:13 1172次浏览 0条回答 0 悬赏 100 金钱

在 views 的 create.php 页面 ActiveForm 中使用 MultipleInput 创建多输入表单。

<?php 
$form = ActiveForm::begin([
    'enableAjaxValidation'      => true,
    'enableClientValidation'    => true,
    'validateOnChange'          => false,
    'validateOnSubmit'          => true,
    'validateOnBlur'            => false,
]);?>
<?= $form->field($modelInf, 'invoiceinfo')->widget(MultipleInput::className(), [
    'max' => 10,
    'cloneButton' => true,
    'columns' => [
        [
            'name'  => 'number',
            'type'  => \kartik\select2\Select2::class,
            'title' => '商品',
            'defaultValue' => 1,
             'options' => [
                 'data'  =>[ArrayHelper::map(\backend\models\Goods::find()->asArray()->all(), 'id', 'number')],
             ],
        ],
        [
            'name'  => 'degrees',
            'title' => '度数',
            'defaultValue' => 0,
            'enableError' => true,
            'options' => [
                                                'class' => 'input-degrees',
            ]
        ],
        [
            'name'  => 'astigmia',
            'title' => '散光',
            'defaultValue' => 0,
            'enableError' => true,
            'options' => [
                                                'class' => 'input-astigmia',
            ]
        ],
        [
            'name'  => 'qty',
            'title' => '数量',
            'defaultValue' => 1,
            'enableError' => true,
            'options' => [
            ]
        ],
        [
            'name'  => 'price',
            'title' => '单价',
            'defaultValue' => 0.00,
            'enableError' => true,
            'options' => [
            ]
        ]
    ]
])->label(false); ?> 

然后在 controller 文件里面接收用户输入内容:

public function actionCreate()
{
    if ($modelInf->load(Yii::$app->request->post())) {
        $modelInf->save(false); 
        return $this->redirect(['view', 'id' => $user->id]);
    } else {
        return $this->render('create', [
            'modelInf' => $modelInf,
        ]);
    }
  }

现在 问题是,数据保存到数据库里面是空数据, 打印 $modelInf 也是空数组。
请问,MultipleInput 这个怎么接收 post 数据。
谢谢

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
tesren
主管

tesren

注册时间:2020-02-13
最后登录:2020-05-19
在线时长:9小时23分
  • 粉丝0
  • 金钱485
  • 威望0
  • 积分575

热门问题