3

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

例如 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>

但是我有几个问题 - 首先我不确定这是否是好的做法,并且找不到关于片段标识符被认为是好的做法的太多信息。

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

谁能建议一个更好的方法来做到这一点?

4

1 回答 1

1

在表单提交后使用 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>
于 2012-07-20T09:07:00.717 回答