我在 codeigniter 中使用表单验证类。一切正常,但是当它重新加载带有错误的表单时,页面再次位于顶部。(因为它已刷新)。有没有办法可以#id
在 url 的末尾添加一个,这样它就会在表单所在的页面更下方加载?
我尝试redirect('form/form#form, 'refresh')
了哪个有效,但没有解决错误。
我在 codeigniter 中使用表单验证类。一切正常,但是当它重新加载带有错误的表单时,页面再次位于顶部。(因为它已刷新)。有没有办法可以#id
在 url 的末尾添加一个,这样它就会在表单所在的页面更下方加载?
我尝试redirect('form/form#form, 'refresh')
了哪个有效,但没有解决错误。
你只是在做一个简单的表单验证,对吧?如果是这样,您应该能够在出错后使用 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 标记。
问题是如果您重定向页面,那么 POST 数组就会被清除。因此 set_value() 无法重新填充您的表单。
有几种方法可以解决这个问题
就重定向而言,您做对了。
很抱歉懒惰并没有发布代码。如果这还不够清楚,请告诉我,我可以发布代码。