【问题标题】:Refresh value on page after form submit表单提交后刷新页面上的值
【发布时间】:2012-12-27 09:04:39
【问题描述】:

因此,为了大大简化这一点,我没有使用我的实际代码,而只是试图传达我正在尝试做的事情,即使用更多数据。假设我有一个值为 1 的外部文本文件,该值为 100。我使用

$data=file('text.txt'); 

引入该值并将其显示在页面上。

echo "<p> Amount: $data[0] </p>";

然后我有一个表单提交按钮,当我单击它时,它将减小该值并通过显示 99 来修改文本文件。当我单击提交时,我有一个 print_r($data),它显示存储在文本文件,但页面仍显示 100。该值仅在我完全刷新页面后更新,我希望它是这样,当我单击提交时,值会更新。我希望这是有道理的,我会尽力澄清。

编辑: 我的表单操作只是 index.php 的当前页面

<form action='index.php' method='POST'>

【问题讨论】:

  • 如果您需要具体答案,请发布具体问题。为了能够帮助更新您的文件,我需要在您的项目中查看适用于该流程的相关代码。

标签: php html


【解决方案1】:

使用您提供的解决问题的信息,当页面提交时,您可以再次从 txt 文件中检索数据并将其显示在页面中。如果您有一个提交按钮,它显然会刷新页面。所以不会有问题。

【讨论】:

    【解决方案2】:

    一旦页面加载完毕,PHP 就完成了它的工作。

    在您的情况下,只有在页面本身刷新后,新值才会显示在页面上。不刷新页面就无法更改显示。

    如果您想在不刷新页面本身的情况下以交互方式更改显示文本的值,则必须使用 Javascript。


    ...但是,如果显示的值在您提交后仍未更新(并且仅在您点击刷新后才更新),则您可能在更新文本文件之前调用了echo

    【讨论】:

      【解决方案3】:

      您似乎已经可以成功更新文件,但无法在页面上重新显示该值...一旦页面刷新,它应该重新获取该值并将新值放入您的字段中。如果您想在不刷新的情况下执行此操作,可以使用 AJAX 执行此操作,如下所示:

      <script type="text/javascript">
      function changeText(){
              var newint = <?php echo $data[0]; ?>;
          document.getElementById('newvalue').innerHTML = newint;
      }
      </script>
      <p id='newvalue'></p> 
      <input type='button' onclick='changeText()' value='Change Text'/>
      

      【讨论】:

        猜你喜欢
        • 2012-05-25
        • 1970-01-01
        • 2013-09-21
        • 2013-02-09
        • 2016-09-19
        相关资源
        最近更新 更多