我在codeigniter中使用表单验证类。一切正常,但当它重新加载带有错误的表单时,页面再次位于顶部。 (因为它刷新了)。有没有办法可以在网址的末尾添加#id
,以便在表单所在的页面下方进一步加载?
我尝试redirect('form/form#form, 'refresh')
虽然有效,但没有完成错误。
答案 0 :(得分:0)
问题是如果您重定向页面,则清除POST阵列。因此,set_value()无法重新填充表单。
有几种方法可以解决这个问题
就重定向而言,你做得对。
抱歉懒惰而不发布代码。如果这个不够清楚,请告诉我,我可以发布代码。
答案 1 :(得分:0)
您只是在进行简单的表单验证吗?如果是这样,您应该能够在发生错误后使用set_value重新填充表单。
http://codeigniter.com/user_guide/libraries/form_validation.html#repopulatingform
如果您正在使用CI的表单验证,我假设您的表单返回到控制器。然后控制器应该确定去哪里。
if ($this->form_validation->run() == FALSE) {
$this->load->view('form#anchor');
} else {
$this->load->view('formsuccess');
}
您应该能够根据验证过程中出现的错误在控制器中动态设置#anchor标记。