0

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

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

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

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

上面的内容很容易用 Javascript 实现。

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

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

同样,这部分使用 CI 的 form_validation 很容易实现。

我的问题出在这里: 重新加载带有错误消息的失败表单后,我希望Duplicate按钮的值保持Create a New Item,而不是重置为初始Duplicate值。

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

4

1 回答 1

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,当页面第一次加载时。

希望这可以帮助。

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

于 2012-10-23T13:09:38.283 回答