用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3667|回复: 3
收起左侧

[已解决] 当编编辑一篇文章时,form_validation如何重新填充表单?

[复制链接]
发表于 2010-11-21 15:20:19 | 显示全部楼层 |阅读模式
本帖最后由 lamtin 于 2010-11-21 23:21 编辑

比如:当新建一篇文章时,标题字段在视图中应是这样子的:


echo '<p><strong>文章标题:</strong>'.form_input('title',set_value('title'),'size=60').'</p>';

在编辑文章时,视图的文本框值应该是从数据库的取得的值 ,比如$article->title:

echo '<p><strong>文章标题:</strong>'.form_input('title',$article->title,'size=60').'</p>';

问题是编辑状态下,我也需要表单验证,当验证通不过时,需要重新填充表单,所以文本框的值也要设为set_value('title')。

怎么办?一个value属性,要表示两个意思?

HELP!!


难道要这样写吗?
if (isset(_POST['submit'])
{
    echo '<p><strong>文章标题:</strong>'.form_input('title',set_value('title'),'size=60').'</p>';
} else {
    echo '<p><strong>文章标题:</strong>'.form_input('title',$article->title,'size=60').'</p>';
}

这样写合理吗?这样太麻烦了吧?
发表于 2010-11-21 18:15:38 | 显示全部楼层
set_value()可以有默认值
set_value('title', isset($article->title) ? $article->title : '');
发表于 2010-11-22 15:08:03 | 显示全部楼层
set_value()可以有默认值
set_value('title', isset($article->title) ? $article->title : '');
qi_ruo 发表于 2010-11-21 18:15



    同意楼上
 楼主| 发表于 2010-11-22 22:16:23 | 显示全部楼层
原来如此!! 谢谢qi_ruo &  yanrikun。
我去试试。

本版积分规则