我有一个采用表单输入的页面,它使用HTML和PHP(codeignter框架)编写,我面对的问题是当存在表单验证错误时,页面刷新是不重新加载像全新的页面,我的意思是它不清除输入字段和错误信息仍然在页面刷新和即使我改正输入和点击提交后,当我点击浏览器后退按钮,它仍然加载有验证错误的页面.. 任何想法为什么会发生或如何解决它。当我刷新它时,我只需要重新加载页面。删除页面刷新时的表单验证错误
这是我的看法(view1.php)
<html>
<?php
echo validation_errors();
form_open('search_controller/search_fn');
form_input('input1', set_value('input1'));
form_input('input2', set_value('input2'));
form_input('input3', set_value('input3'));
form_submit('submit', 'Submit');
?>
</html>
Controller Functions
function index() {
$this->load->view('view1');
}
function search_fn {
if($this->input->post('submit') {
$this->form_validation->set_rules('input1', 'XXXX',
'trim|some_validation');
$this->form_validation->set_rules('input2', 'XXXX',
'trim|some_validation');
$this->form_validation->set_rules('input3', 'XXXX',
'trim|some_validation');
if($this->form_validation->run() == FALSE) {
//when validation fails
$this->load->view('view1');
} else {
//when all input is validated sucessfully
do some processlisng,
//load some other view
$this->load->view('view2');
}
} else {
//When page is refreshed, this is supposed to redirect
redirect('search_controller/index');
}
}
当输入验证失败,网址回来为www.something.com/search/search_fn,当我刷新,它基本上加载相同的页面与相同的错误消息。我在某种程度上需要重置 $ this-> input-> post('search'),所以只有在点击搜索按钮时它才会成立。
谢谢。
欢迎来到Stack Overflow!这个问题在信息上有点短暂。你可以分享你的尝试,以及你遇到了什么问题? –
没有你发布你遇到问题的代码的例子,几乎不可能帮助你。 – McWayWeb
请记住,IE浏览器和其他浏览器保存状态(真的很烦人),并且即使页面刷新后也会保留数据。不知道这与你的问题有什么关系。 – philtune