我有一种形式是这样的:笨表单验证,重新填充动态添加字段
<form action="" method="post">
<input type="text" name="name[]">
<input type="text" name="name[]">
</form>
<button id="add">Add extra field</button>
而且还有一个可能性,即我已经使用Javascript/jQuery的处理多个输入:
$('#add').click(function(){
$('form').append('<input type="text" name="name[]">');
}
这里的一切工作正常。当我提交表格时,我回复echo '<pre>'.print_r($this->input->post(),TRUE).'</pre>';
的数据,我收到了一切。
而我正在使用表单验证类,所以如果失败了,我想通过使用set_value
函数来保存这些值。然后,窗体如下所示:
<form action="" method="post">
<input type="text" name="name[]" value="<?=set_value('name[]');?>">
<input type="text" name="name[]" value="<?=set_value('name[]');?>">
</form>
<button id="add">Add extra field</button>
但是...动态添加的输入不存在,因为它们是通过Javascript添加的。问题是:如何在代码验证失败后“保留”动态添加的输入和CodeIgniter的值?
四处搜寻,但没有找到任何东西:(
你可以回显提交给控制器的表单数据,检查是否存在添加到视图中的所有动态字段。 – MaNKuR 2013-05-01 09:31:14
是的,当我运行'回声'
';'我得到的一切。 – Roy 2013-05-01 10:49:11还有一件事是这(动态)字段在服务器端进行验证?你可以尝试像这样'value =“<?php echo set_value('name []',$ _ POST ['name []']);?>”' – MaNKuR 2013-05-01 11:18:55