【问题标题】:Refresh the page after successfully submitted提交成功后刷新页面
【发布时间】:2020-03-31 05:25:19
【问题描述】:

我有模态表单,我在提交成功后摆脱输入文件名值有问题,我想在提交成功后刷新页面。

这是我的代码:

if(isset($_POST['postFlag']) && is_numeric($_POST['postFlag'])) {

        $postFlag = $_POST['postFlag'];
        switch ($postFlag) {

            case 1:

                if($this->setPostVars() && $this->checkPostVars()) {
                    $this->setReceipients();
                    $this->sendEmail();
                    $this->writeRecord();
                    $this->returnEcho(1, 'Sending successful!');
                }

            break;
        }
    }

我尝试了 header('Location: '); 它保存了数据,但它给了我一个错误
还有echo "<meta http-equiv='refresh' content='0'>"

【问题讨论】:

  • 它会给你什么错误?
  • 它给了我一个服务器错误
  • @Mech 你有什么解决办法吗?
  • 您要删除哪个输入文件名?
  • @Mech 嗨,用户在 input type="file" 上输入的那个。提交成功后。输入文件的值还在

标签: php silverstripe


【解决方案1】:

作为新手开发者,我通常会遇到相反的问题。

提交表单方法POST时不重新加载页面的唯一原因:

  1. 您的表单返回 false,因此页面未重新加载。
  2. 您正在使用 ajax 并且在您的 php 中有一个 exit(),因此服务器不会向您发送整个页面,而是您在 exit() 中放置的内容。

您可以使用以下方式对其进行硬编码:

echo "<script>location.reload(true);</script>";

【讨论】:

  • 您好,尝试了您的建议,但还是不行。它给了我一个内部服务器错误。也许我输入了错误的行。有什么建议吗?
【解决方案2】:
    $(document).ready(function(){            // <-- add the below within this jquery tag
        $("form").submit(function(e) {       // <-- activates on form submit
            $("#file-selected").html('');    // <-- sets data to ''
            e.preventDefault();              // <-- prevents html() from filling back up
        });                                  // <-- closing tags for form submit
    }); 

【讨论】:

  • 您好尝试了您的建议,仍然无法清除值
  • 这很奇怪,因为您将它重新定义为其他东西。你能在$_POST['fileinputname'] =""; 下做一个var_dump() 看看会发生什么吗?
  • 它给了我一个字符串
  • 顺便说一句,该输入的值在
  • $('#file-selected').html(data.result.filename); 我想在提交成功后将其设为空。如何使用 php 来实现?
猜你喜欢
  • 2016-01-06
  • 2013-08-26
  • 2020-12-06
  • 1970-01-01
  • 2017-02-27
  • 2016-10-09
  • 1970-01-01
  • 2012-05-25
相关资源
最近更新 更多