表单操作属性中的片段标识符



我有一个表单,我想发布到同一页面。表单操作包含页面上包含它的元素的片段标识符——我希望它发布数据,然后在同一点重新加载同一页面,这样用户就不需要向下滚动了。

示例index.php:

<div>
  some very long content that pushes my form down the page
</div>
<div id="myDiv">
  <form action="index.php#myDiv" method="post">
    <input name="abc" value="123"/>
    <input type="submit" value="submit"/>
  </form>
</div>

然而,我有几个问题——首先,我不确定这是否是一个好的实践,也找不到太多关于使用片段标识符的好实践的信息。

其次,其他一些人说,有时当他们点击提交时,表格会"跳到顶部"。我还没能重现这一点,但很明显,浏览器没有发布数据,而是执行片段标识符操作。

有人能提出更好的方法吗?

在表单提交后使用header()函数和标识符重定向用户。

<div>
  some very long content that pushes my form down the page
</div>
/*Use header() to redirect the person on the #point*/
<?php
//form data goes here, if it passes everything then use
header('Location:index.php#myDiv');
exit;
?>
<div id="myDiv">
  <form action="index.php" method="post">
    <input name="abc" value="123"/>
    <input type="submit" value="submit"/>
  </form>
</div>

相关内容

  • 没有找到相关文章

最新更新