我在一个长页面的底部有一个表单,如果用户填写了表单但它不验证页面是否以典型的 codeigniter 方式重新加载:
$this->load->view('template',$data);
然而,由于表单位于页面底部,我需要将页面加载到那里,就像使用 HTML 锚点一样。有谁知道如何在 codeigniter 中做到这一点?
我无法使用 codeigniter
redirect();
函数,因为它丢失了对象并且验证错误消失了。我使用过的其他框架(例如 Yii)您可以调用重定向函数,例如:
$this->redirect();
这解决了问题,因为你保留了对象。我尝试过使用:
$this->index()
在控制器内,它可以作为重定向正常工作,但验证错误是在另一种方法中,该方法是从加载当前页面的位置:
$this->item($labs)
但是当我使用它时它陷入了循环
有任何想法吗?我在网上经常看到这个问题,但没有明确的答案。我正在研究使用 codeigniter“闪存数据”,但认为这有点矫枉过正。
cheers.
我不能亲自证明这一点,但根据这个线程 http://codeigniter.com/forums/viewthread/119231/#590064如果您将锚点附加到表单的action
,它会起作用。
代码点火器助手:
<?php echo form_open('controller/function#anchor'); ?>
或者普通的 HTML:
<form method='post' action='controller/function#anchor'>
如果您愿意使用 Javascript,您可以轻松检测到$validation_failed
变量并适当滚动。或者,更好的是,使用 AJAX。
另一种选择是将表单放在页面顶部附近?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)