【问题标题】:PHP: How to return to same spot on page after clicking Submit? [duplicate]PHP:单击提交后如何返回页面上的同一位置? [复制]
【发布时间】:2020-07-11 07:43:30
【问题描述】:

我正在索引页面上制作一个包含 20 个不同问题的网页。用户在每个问题后单击“提交”。

<form action="./index.php" method="post" id="element">

然后将信息发布并发送到数据库。当然,这会使索引页面重新加载并显示在页面的最顶部。这使得很多滚动。

有没有办法让页面重新加载并向下滚动到它离开的地方?

【问题讨论】:

  • 这能回答你的问题吗? Is it safe to use anchor to submit form?
  • 感谢您的建议,但锚点不起作用。它重新加载了页面,我又回到了顶部。我想重新加载页面并回到原来的位置。有什么方法可以标记页面并让它重新加载到那个位置?
  • 如果您单击链接,您可以在用户单击的位置定义锚点。只需将锚点放在那里,然后在表单操作中引用它。
  • 好了!我第一次使用了 62 票的答案,但没有奏效。这是获得 3 票有效的答案。必须将令牌添加到表单中并将名称添加到锚点。非常感谢机甲!

标签: javascript php html


【解决方案1】:

在这里找到答案:https://stackoverflow.com/a/7983093/4101210

要使用锚来提交表单,需要使用 JavaScript 来连接事件。这是不安全的,如果用户禁用了 JavaScript,您将无法提交表单。例如:

<form id="form1" action="" method="post">
    <a href="#" onclick="document.getElementById('form1').submit();">Submit!</a>
</form>

如果您愿意,可以使用&lt;button&gt;

<button type="submit">Submit!</button>

或者坚持我们都知道的:

<input type="submit" value="Submit!" />

您可以设置所有三个样式,但后两个不需要 JavaScript。如果遇到边框问题,您可能只需要在某处更改一些 CSS。

【讨论】:

    【解决方案2】:

    回答我问题的代码由 joshua bissot 编写。他展示了如何将令牌放入动作中并命名锚点以使其工作。

    https://stackoverflow.com/a/25918771/12140988

    <!-- add the anchor token at the end of your action statement -->
    
    <form method='post' action='this_page.php?put_peram=token#anchor_name'>
    <input type='submit' value='click here'>
    
    <!-- put the anchor right above where you want the page to  index -->
    
    <a name="anchor_name></a>
    

    【讨论】:

      猜你喜欢
      • 2014-05-09
      • 2017-08-28
      • 2014-05-26
      • 1970-01-01
      • 2017-07-21
      • 2011-08-06
      • 2013-01-01
      • 1970-01-01
      相关资源
      最近更新 更多