我试图动态添加元素到yii 1.1 TbActiveForm。我尝试了两种方法来做到这一点,但在验证方面却失败了。请参阅下面的方法。
方法1#克隆元素;修改ID
这就是我创建表单的方式
$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'id' => 'form-name',
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnSubmit'=>true
),
'action' => $this->createUrl('test/manageusers')
));
点击"添加更多"按钮,此脚本将复制元素
$('#add-comp-user').on('click', function(){
// template
var html = $('.add-comp-users-wrapper').first().clone();
// next element index
var next_index = // find last element's index attribute
// update element id's
html.find(':input').each(function(){
// update name
// update id
});
// insert to DOM
});
方法2 #Ajax方法 在这里,坚持"添加更多"按钮,我将使用新的id呈现表单元素并插入到DOM
这两种方法都无法通过验证。如何在Yii验证中包含新添加的元素?