Javascript 提交按钮时停止刷新

Javascript 提交按钮时停止刷新,javascript,php,ajax,Javascript,Php,Ajax,如果您的if条件变为false并显示输入值的所有输入字段,有没有办法停止刷新提交页面按钮?首先,这是 现在,当我们把它排除在外时,这里有一个简短的解释。您不能阻止浏览器本身刷新。但您可以做的是防止表单被提交(从而导致刷新)。这是在JS中处理表单验证时常用的解决方案 您可以查看与住所相关的答案以了解更多详细信息。您可以使用Post/Redirect/Get模式。如果有错误,请重定向到与表单相同的页面并显示错误。您不能在POST期间“停止”表单 另外,如果您不想“显示”任何重定向,可以使用ajax请

如果您的if条件变为false并显示输入值的所有输入字段,有没有办法停止刷新提交页面按钮?

首先,这是

现在,当我们把它排除在外时,这里有一个简短的解释。您不能阻止浏览器本身刷新。但您可以做的是防止表单被提交(从而导致刷新)。这是在JS中处理表单验证时常用的解决方案


您可以查看与住所相关的答案以了解更多详细信息。

您可以使用Post/Redirect/Get模式。如果有错误,请重定向到与表单相同的页面并显示错误。您不能在POST期间“停止”表单

另外,如果您不想“显示”任何重定向,可以使用ajax请求。表单不会“闪烁”


您还可以使用javascript检查输入元素的更改事件字段。

既然您提到了
PHP
,那么为什么不使用它呢

我想你的问题有两个部分,如下所示

第一部分-您写道:

显示输入值的所有输入字段

上面的意思是使用
$\u SESSION
用提交的数据重新填充字段

第二部分-您写道:

如果您的if条件为false,有没有办法停止刷新提交按钮上的页面

请注意,
submit
上的任何
都是客户端处理范围内的事件。您可以使用jQuery或JS验证进行验证

下面是两个用于学习测试的文件

发布php:


希望我对你有帮助。

是的,有。您是否正在寻找验证表单的方法?如果是,你试过什么了吗?这将有助于解决你的问题!您需要提供更多详细信息,说明您到底想做什么。我正在数据库中输入数据,但条件是我正在检查两个字段是否具有相同的值如果是,则输入并重定向到其他页面如果不是,则停留在此页面请提供一个我尝试过的事件。preventDefault()但它不起作用
<html>
  <body>
    <form action="action.php" method="POST">
      <input type="text" name="feedback" value="" />
      <input type="hidden" name="token" value="123456ABCDEF" />
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>

<?
session_start();

$token = '123456ABCDEF';

if(isset($_SESSION)){

    if($_SESSION['token'] == $token){

        echo "Your feedback:<br />";

        foreach($_SESSION as $field=>$value):
                echo $field.": ".$value."<br />";
        endforeach;     

    }else{
        echo " Bad token! Cross-Site Request Forgery (CSRF)";
    }

}else{
    echo "Nothing!";
}
<?php
session_start();

$_SESSION = $_POST;
$_SESSION['message'] = "Thank you for the feedback!";

header('Location: ' . $_SERVER['HTTP_REFERER']);

?>