【问题标题】:Form submit is not working when you press submit button once当您按一次提交按钮时,表单提交不起作用
【发布时间】:2022-08-17 22:12:09
【问题描述】:

我有一个单页提交表单。当我按下提交按钮时,它会半加载页面一次。然后,当我刷新页面时,表单已提交。有没有一种方法可以提交表单并重新加载页面一次而无需重新加载或按下提交按钮两次

<?php
if(isset($_POST[\'submitme\']) && isset($_POST[\'mytext\'])){

 require(\"conn.php\");
 $mytext = rtrim($_POST[\'mytext\']); 
 mysqli_query($connection, \"INSERT INTO messages (`mytext`) VALUES (\'$mytext\')\");
}
?>
                <form id=\"myform\" name=\"myform\" method=\"POST\" action=\"#\" enctype=\"multipart/form-data\">
                    <div class=\"row p-1\">
                        <div class=\"col-sm\">
                            <div class=\"mb-3\">
                                <textarea class=\"form-control\" name=\"mytext\" id=\"mytext\" rows=\"3\" placeholder=\"Your message\" required>
        </textarea>
                            </div>
                        </div>
                    </div>
                    <div class=\"row p-1\">
                        <div class=\"col-sm\">
                            <div class=\"mb-3\">
                                <input type=\"submit\" name=\"submitme\" id=\"submitme\" value=\"Post\" />

                            </div>
                        </div>
                    </div>
                </form>

标签: javascript php


【解决方案1】:

问题似乎与您的 &lt;form&gt; 操作属性有关。将此值设置为# 会导致表单提交给自身并将不会重定向。

有关更多信息,请参阅what does the hash mean in action in html form tag

因此,理想情况下,您希望完全省略 action 属性,这将导致表单提交给自身并重新加载。

【讨论】:

  • 抱歉,你能解释一下action="#" 和不采取任何行动有什么区别吗?
【解决方案2】:

一种方法是添加一个 JavaScript 函数,该函数将在您单击提交按钮后立即触发。

将 onclick() 附加到您的提交按钮,并指定:

function refresh() {    
setTimeout(function () {
    location.reload()
    }, 200);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-10
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多