【发布时间】:2015-01-07 20:26:10
【问题描述】:
我的 index.php 页面使用了一个名为 template.html 的模板,这个 html 文件中有一个表单。表格的第一行是:
<form name="search" method="get" action="thumbnails.php?#myAnchor">
thumbnails.php 也使用 template.html 作为模板。当用户在索引页面上提交表单时,我希望它重定向到 thumbnails.php(就像现在一样),然后转到我在 template.html 中编写的锚点,如下所示:
<a name="myAnchor"></a>
您可以在下面自己测试它,只需在顶部搜索框中搜索“nature”,它会将您重定向到 thumbnails.php 的顶部,但我希望它向下滚动到嵌入在模板中的锚标记文件(见 thumbnails.php 源代码) -- My Site
这是thumbnails.php的链接 这是template.html的链接
我已经阅读了大量的解决方案,但似乎没有任何效果。想法??谢谢
【问题讨论】:
-
现在不再使用
<a name="">,改用<anything id="">。 -
没有。表单提交后,总是重定向到另一个页面或同一页面的另一个实例以避免重复提交。在该重定向中,您可以使用
#,但您不会在表单操作中包含#也永远不会停留在表单提交到的页面上但始终重定向。 -
您也从不在表单操作中包含
?。这将附加在表单提交上。您在表单操作中输入的任何参数(如?x=y)都可能在某些浏览器中被删除。 -
查找 POST-redirect-GET 模式。停留在您提交表单的 URL 上是危险的。考虑一个愚蠢的银行,在您提交“提取终身储蓄”交易后这样做。你点击了重新加载,现在你又转移了你的毕生积蓄,最终被 $everything_you_had 掉进了坑里。
-
@Dai,您有该声明的参考资料吗?