Php 提交表单时如何防止页面重新加载?

Php 提交表单时如何防止页面重新加载?,php,html,Php,Html,当我提交HTML表单时,我希望PHP获取输入的值,但每当我提交HTML表单时,它都会重新加载页面。如何预防这种情况?? 提前谢谢 我的密码- <!DOCTYPE html> <html> <body> <form method="post"> <input type="number" type="button" min="0" id="Q1" name="Q1"><br> <input type="nu

当我提交HTML表单时,我希望PHP获取输入的值,但每当我提交HTML表单时,它都会重新加载页面。如何预防这种情况?? 提前谢谢

我的密码-

<!DOCTYPE html>
<html>
<body>
<form method="post">
    <input type="number" type="button" min="0" id="Q1" name="Q1"><br>
    <input type="number" type="button" min="0" id="Q2" name="Q2"><br>
    <input type="number" type="button" min="0" id="Q3" name="Q3">
    <input type="submit" type="button" id="submit2" name="submit2">
</form>
<?php
if(isset($_POST['submit2'])){
    $input1 = $_POST['Q1'];
    $input2 = $_POST['Q2'];
    $input3 = $_POST['Q3'];
    echo $input1;
}
?>

</body>
</html>




在javascript中,您可以执行
e.preventDefault()
by
e
是事件

希望这对您需要ajax有所帮助

<html>
  <head>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script>
      $(function () {

        $('form').on('submit', function (e) {

          e.preventDefault();

          $.ajax({
            type: 'post',
            url: 'post.php',
            data: $('form').serialize(),
            success: function () {
              alert('form was submitted');
            }
          });

        });

      });
    </script>
  </head>
  <body>
    <form>
      <input name="time" value="00:00:00.00"><br>
      <input name="date" value="0000-00-00"><br>
      <input name="submit" type="submit" value="Submit">
    </form>
  </body>
</html>

$(函数(){
$('form')。关于('submit',函数(e){
e、 预防默认值();
$.ajax({
键入:“post”,
url:'post.php',
数据:$('form')。序列化(),
成功:函数(){
警报(“表格已提交”);
}
});
});
});


post.php

<?php

print_r($_POST);
if ($_POST['date']) {
  $date = $_POST['date'];
  $time = $_POST['time'];
  echo '<h1>' . $date . '---' . $time . '</h1>';
}
else {

}
?>

您应该尝试使用AJAX。使用Ajax,web应用程序可以从服务器异步发送和检索数据,而不会干扰现有页面的显示和行为

页面的确切代码如下所示:

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
  $(function () {

    $('form').on('submit', function (e) {

      e.preventDefault();

      $.ajax({
        type: 'post',
        url: 'post.php',
        data: $('form').serialize(),
        success: function () {
          alert('form was submitted');
        }
      });

    });

  });
</script>
</head>
<body>
<form method="post">
    <input type="number" type="button" min="0" id="Q1" name="Q1"><br>
    <input type="number" type="button" min="0" id="Q2" name="Q2"><br>
    <input type="number" type="button" min="0" id="Q3" name="Q3">
    <input type="submit" type="button" id="submit2" name="submit2">
</form>

$(函数(){
$('form')。关于('submit',函数(e){
e、 预防默认值();
$.ajax({
键入:“post”,
url:'post.php',
数据:$('form')。序列化(),
成功:函数(){
警报(“表格已提交”);
}
});
});
});


PHP:post.PHP

<?php
  if(isset($_POST['submit2'])){
  $input1 = $_POST['Q1'];
  $input2 = $_POST['Q2'];
  $input3 = $_POST['Q3'];
  echo $input1;
  }
?>

</body>
</html>


为什么在
输入中输入多个
类型
?您看过AJAX吗?这可以用来调用另一个.php文件,并提交表单数据,而无需任何页面刷新。重新加载是什么意思?如果您将表单提交到其他页面,它将不会“重新加载”。表单将不会被提交。我想您可以在后台使用AJAXYes通过javascript调用
POST
事件,您可以这样做,但这不在您的答案中:)这不是一个真正的答案,因为它最终无法解决OP的问题。您可以将表单中的数据发送到php文件,然后动态更新页面中的元素。我实际上是在输入完全相同的代码。这是正确的answer@LemuelBotha这是“一个”答案。我同意,在真正阅读了他的答案后,我发现他实际上只是从另一个问题的答案中复制了它,没有进行编辑以适应这个问题question@LemuelBotha如果我的PHP代码以ajax代码的形式存在于文件中,那么我应该怎么做呢?您只需要将PHP创建为一个外部页面