如何在使用codeigniter验证表单后更改按钮的值

时间:2012-10-23 13:01:24

标签: codeigniter

我正在使用codeigniter建立一个CRUD系统。

用户选择一个项目,并从数据库中查询其详细信息,并填写表单字段。

然后,用户可以决定是否要更新该项目,或者复制该项目并创建新项目。

我希望重复发生如下: 单击 Duplicate 按钮后,项目代码的值将被清除(因为项目代码是唯一的,并且是用户生成的),并且 Duplicate 的值按钮将更改为创建新项。然后,用户应键入新的商品代码,然后单击创建新商品按钮。

使用Javascript可以轻松实现上述目标。

然后提交表单,并使用CI的form_validation库进行验证。

如果验证失败,我正在重新加载表单,显示错误消息。

同样,使用CI的form_validation可以轻松实现该部分。

我的问题在于: 使用错误消息重新加载失败的表单后,我希望重复按钮的值保持创建新项,而不是重置为初始重复< / em> value。

如何在将错误消息返回到表单后设置按钮的

1 个答案:

答案 0 :(得分:1)

一种方法是发送一些变量,该变量充当标志以确定验证是成功还是失败。

例如:

//来自控制器

if ($this->form_validation->run() == FALSE)
        {
                        $data['form_validated'] = FALSE;
                $this->load->view('myform',$data);
        }
        else
        {
                        $data['form_validated'] = TRUE;
                $this->load->view('myform',$data);
        }

//在视图中

if($form_validated) {
 //code if form is validated
}
else {
//code if form is not validated
}

首次加载页面时,最初设置$ form_validated = TRUE。

希望这有帮助。

您甚至可以使用会话来存储有关表单是否已经过验证的数据