【问题标题】:refreshing php page with button用按钮刷新 php 页面
【发布时间】:2012-10-04 08:03:02
【问题描述】:

我有简单的编码问题。我创建了一个带有文本框和共享按钮的页面。该页面还包含一个向上按钮。

当用户点击该按钮并刷新页面时,我遇到了一个向上按钮的问题......一个窗口要求重新发送信息

为此,我使用了以下代码,效果很好。

`header('位置:samepageurl.php');

退出;`

但上述代码的问题是当用户向下滚动页面并单击按钮时。页面自动向上滚动。并且用户必须手动向下滚动。

我想要的是页面应该刷新,但它应该在原来的位置。

如果问题还不清楚,请参考以下图片

【问题讨论】:

  • 为什么要刷新页面?如果您正在处理表单,刷新页面是不寻常的......刷新后您输入的数据将丢失,除非您要提交表单并且您的数据将在提交后出现。
  • 我只是希望按钮文本在用户单击它时更改为其他内容......这是我刷新它的唯一原因......是的,我已经对其进行了编码,以便如果用户已经单击它...如果指向上方,则文本将是“:)”

标签: php html


【解决方案1】:

您可以设置片段标识符。

例如:

<a name="points_up"></a> <!-- this needs to be near that button, the page will scroll exactly where the element is -->

并将他重定向到:

header('Location: samepageurl.php#points_up');
die;

【讨论】:

  • 实际上每个用户帖子都包含一个点数按钮。我已经编辑了上面显示的代码,但它不起作用
  • @sumit 你想说如果你把&lt;a name="points_up"&gt;&lt;/a&gt; 放在按钮附近并在最后访问带有#points_up 的页面它不起作用?
【解决方案2】:

Mihai 的答案是正确的,但是正如您所说,片段标识符不起作用,因为每个用户都有向上按钮,您可以将user id 作为片段标识符传递并制作一个隐藏的(display : none;&lt;a&gt; 标签和在每个用户前面传递用户 id...

像这样:

您也可以在用户ID之前设置前缀(可选)

<a name="pu12345" style="display: none;"></a>

<?php
   header('Location: whatever.php#pu12345');
   exit;
?>

【讨论】:

  • 先生,我可以在那里有一些链接,而不是那个指向按钮
  • @sumit 我实际上不知道你的点按钮在做什么,你可以简单地传递 1 个带有用户 ID 的锚标记并将其隐藏,以便它在页面上不可见或者更好的选择是你还可以添加片段标识符并传递用户名
  • @sumit 您不必在标题中更改它,您需要在点 ups 附近更改它...
【解决方案3】:

您可以通过 ajax 发送请求,而不是依靠正常的表单提交。这不会影响当前页面的滚动。

【讨论】:

    【解决方案4】:

    在页面底部的 标签之前添加这一行

    <button id="PageRefresh">Refresh a Page in jQuery</button>
    
    <script type="text/javascript">
             $('#PageRefresh').click(function() {
             location.reload();
             });
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      相关资源
      最近更新 更多