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

如何在使用codeigniter验证表单后更改按钮的值,codeigniter,Codeigniter,我正在用codeigniter建立一个积垢系统 用户选择一个项目,并从数据库中查询其详细信息,然后填充表单字段 然后,用户可以决定是更新该项目,还是复制该项目并创建新项目 我希望复制像这样发生: 单击“复制”按钮后,项目代码的值将被清除(因为项目代码是唯一的,并且是用户生成的),并且“复制”按钮的值将更改以创建新项目。然后,用户应键入新项目代码,并单击“创建新项目”按钮 以上内容可以通过Javascript轻松实现 然后提交表单,并使用CI的表单验证库进行验证 如果验证失败,我将重新加载表单,并

我正在用codeigniter建立一个积垢系统

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

然后,用户可以决定是更新该项目,还是复制该项目并创建新项目

我希望复制像这样发生: 单击“复制”按钮后,项目代码的值将被清除(因为项目代码是唯一的,并且是用户生成的),并且“复制”按钮的值将更改以创建新项目。然后,用户应键入新项目代码,并单击“创建新项目”按钮

以上内容可以通过Javascript轻松实现

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

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

同样,使用CI的form_验证很容易实现这一部分

我的问题在于: 在重新加载带有错误消息的失败表单后,我希望复制按钮的值保持为创建新项,而不是重置为初始复制值


将错误消息返回表单后,如何设置按钮的值?

一种方法是发送一些变量,作为确定验证是否成功的标志

例如:

//来自控制器

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

希望这有帮助

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