提交表单后如何清除表单并将数据传递到php文件而不重新加载页面

时间:2018-08-27 06:25:54

标签: javascript php jquery html

提交表单后如何清除表单并将数据传递到php文件而不重新加载页面...表单数据通过php文件并存储了数据库。但是提交后我无法清除表单数据form.if如果我使用javascrip重置了表单,但数据未通过数据库。如果我将数据传递给了php,则表单不清楚。是否有办法让我同时达到两个目标?谢谢。 这是我的代码段...

<iframe name="votar" style="display:none;"></iframe>     
<form action="confirm.php" id="sfm" method="POST" target="votar">
<input type="text" placeholder="Name" name="name" value="" required/>
<input type="submit" value="Submit My Project " />
</form>

6 个答案:

答案 0 :(得分:1)

使用AJAX,您可以执行此操作。

$('#submitBtn').click(function () {
       $.ajax({
          url: 'confirm.php',
          data: $('#sfm').serialize(),
          type: "post",
          success: function (data) {
            $('input[type="text"]').val('');
          }
       });
       return false;
   });

答案 1 :(得分:1)

您可以尝试

在index.php中

  <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: 'get',
            url: 'ajax.php',
            data: $('form').serialize(),
            success: function (data) {
              $('#name').val('');
              alert('data');
              //your return value in data
            }
          });

        });

      });
    </script>
  </head>
  <body>
    <form action="ajax.php" id="sfm" method="POST" target="votar">
        <input type="text" placeholder="Name" name="name" id="name" value="" required/>
        <input type="submit" value="Submit My Project " />
    </form>
  </body>
</html>

和ajax.php

<?php
$name = $_GET['name'];
//do what you want to do using name
echo "what you need to return";

答案 2 :(得分:0)

您是否考虑过使用Ajax处理表单提交?

Form submit with AJAX passing form data to PHP without page refresh

答案 3 :(得分:0)

提交并保存表单后,尝试将$_POST数组设置为空

$_POST='';

答案 4 :(得分:0)

您可以这样做,首先获取表单输入值,然后再获取reset

成功响应后,您也可以重置

$(function () {
  $('form').on('submit', function (e) {
    e.preventDefault();
    var that = $(this);
    var params = that.serialize();
    that.get(0).reset();
    console.log(params);
    $.ajax({
      type: 'GET',
      url: 'submit.php',
      data: params,
      success: function (data) {
        console.log(data);
      }
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="confirm.php" id="sfm" method="POST" target="votar">
  <input type="text" placeholder="Name" name="name" value="" required/>
  <input type="submit" value="Submit My Project " />
</form>

服务器端

<?php
 $name = $_GET['name'];
 echo 'success';
 exit();
?>

答案 5 :(得分:0)

获得成功响应后,您可以清除表单输入

   $('#sfm').submit(function () {
   var form = $(this);
   $.ajax({
      url: 'phpfile.php',
      data: form.serialize(),
      type: "POST",
      success: function (data) {
        $('input[type="text"]').val('');
      }
   });
   return false;
 });