2012-04-24 102 views
0

我被卡住瞭如何在不成功的表單驗證後重新填充表單中的隱藏字段。用CodeIgniter表單驗證類重新填充隱藏字段

重新填充使用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();?> 

回答

0

傳入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(); ?> 

希望這可以幫助你。謝謝。

+0

這工作。謝謝 – 2012-04-28 11:01:02

0

以猜測在這裏,你要與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

+0

這也將工作。謝謝 – 2012-04-28 11:01:59