删除302重定向上的片段标识符

时间:2012-11-12 21:48:34

标签: zend-framework fragment-identifier http-redirect

我的页面底部有一个表单。我在表单操作中使用片段标识符,因为当出现错误时,表单会在帖子上重新显示,我不希望用户向下滚动它以进行更正。

成功处理表单后,我会执行重定向到同一页面并显示确认消息。我遇到的问题是浏览器preserves the fragment identifier upon 302 redirects。是否有强制浏览器清除/删除片段标识符的技巧?


假设我正在查看用户个人资料页面,页面上有一个地址表单。表单操作为/user/profile#AddressForm。如果表单提交有错误,页面会自动滚动到地址表单,以便用户可以更正错误。如果没有错误,我想重定向到/user/profile,它没有片段标识符。我遇到的问题是浏览器保留了片段标识符,页面向下滚动到表单,而不是停留在顶部。

1 个答案:

答案 0 :(得分:1)

<强>更新

现在我看到实际问题是什么,我建议重定向到不存在的锚

header ('Location: /user/profile#top');

有。

$form->setAction ($this->getRequest ()->getRequestUri ());