如何使用ActiveForm提交动态字段数据提交yii2

时间:2015-11-23 01:46:05

标签: php yii2 yii2-advanced-app yii2-basic-app

我在Yii2中有ActiveForm字段,我正在使用jQuery在表单中创建一些动态字段。我想知道如何使用ActiveForm提交按钮发送这些新创建的字段数据?

我的表单如下所示,新生成的字段

<?php $form = ActiveForm::begin(['id'=>'form-event']); ?>

<?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>

<?= $form->field($model, 'location')->textInput(['class' => 'placepicker form-control']) ?>

</div>
<div class="container" id="eventTemplate">
     <input class="form-control" type="text" name="option[]" /> <!-- This fields are generated dynamically -->
     <input class="form-control" type="text" name="option[]" /> 
     <input class="form-control" type="text" name="option[]" />
</div>

<div class="form-group">
    <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-danger' : 'btn btn-primary']) ?>
</div>

<?php ActiveForm::end(); ?>

所以我想用表单submit发送该字段的数据。我无法在model中声明该字段,因为我不知道我需要多少输入字段。

1 个答案:

答案 0 :(得分:0)

如果option是您的模型字段,那么您可以使用:

<?= $form->field($model, 'option[]')->textInput() ?>

假设您的$model变量类名称为Car,并且jQuery点击事件可以执行此操作:

var $input = '<input type="text" name="Car[option][]">';
$("#eventTemplate").append($input);