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



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

成功处理表单后,我执行重定向到同一页面并显示确认消息。我遇到的问题是浏览器在 302 重定向时保留片段标识符。有没有强制浏览器清除/删除片段标识符的技巧?


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

更新

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

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

有。

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

相关内容

  • 没有找到相关文章

最新更新