【问题标题】:Repopulating hidden fields with CodeIgniter Form Validation class使用 CodeIgniter 表单验证类重新填充隐藏字段
【发布时间】:2012-05-05 02:27:25
【问题描述】:
在表单验证不成功后,我被困在如何重新填充表单中的隐藏字段。
repopulation 使用 set_value() 函数为其他字段打印出选择的值,但是对于隐藏字段,值字段中已经打印了一些内容。
这是我的查看代码:
<? echo validation_errors();?>
<? echo form_open('projects/start');?>
<input type="hidden" name="project_type_id" value="<? echo $this->uri->segment(3);?>" >
<input type="text" name="site" value="<?echo set_value('site');?>">
<input type="submit" value="submit">
<?echo form_close();?>
【问题讨论】:
标签:
forms
validation
codeigniter
repopulation
【解决方案1】:
在这里猜测一下,您想在首次加载时使用 URI 段填充它,并且一旦表单提交,这将不可用。
也许这会起作用
<input type="hidden" name="project_type_id" value="<? echo ($this->input->post())? set_value('project_type_id'): $this->uri->segment(3);?>" >
根据您构建网站的方式,也可以这样做
<? echo form_open('projects/start/' . $this->uri->segment(3));?>
保留 URI
【解决方案2】:
在第二个参数中传递 URI 段值,在提交表单后它将接受提交的值,它重新填充提交的值而不是 URI 段值。
<?php echo validation_errors(); ?>
<?php echo form_open('projects/start'); ?>
<input type="hidden" name="project_type_id" value="<?php echo set_value('project_type_id', $this->uri->segment(3)); ?>" />
<input type="text" name="site" value="<?php echo set_value('site'); ?>" />
<input type="submit" value="submit" />
<?php echo form_close(); ?>
希望这对您有所帮助。谢谢。