通过ajax PHP

时间:2019-05-17 18:35:45

标签: php jquery ajax

我正在尝试使用Ajax和PHP从服务器端加载表单。一切正常,但是当我在提交表单时执行ajax调用时,表单数据没有被提取。

我尝试将ajax调用移入和移出document.ready,并尝试将其放在正文末尾。我尝试用函数替换form.on(submit,..),但似乎没有任何作用。

这是我的index.html


  <head>

    <script>

      $(document).ready(function(){

        $.ajax({
          url:'loadTimesheets.php',
          method: 'GET',
          success:function(data){
            $('#myDiv').html(data);
          }
        });
      });


      $('form').on('submit',function(event){
        // event.preventDefault();
        var form_data = $(this).serialize();
        $('#mypara').html(form_data);
        $.ajax({
          url:'insertTime.php',
          method: 'POST',
          data: form_data,
          success:function(data){
            $('#mypara').html(data);
          }
        });
      });

    </script>

  </head>

<body>
    <div>
      <p id="mypara"> Change this</p>

    </div>
<div class="jumbotron" id="myDiv">

</div>

<script>


    // $('form').on('submit',function(event){
    //   // event.preventDefault();
    //   var form_data = $(this).serialize();
    //   $('#mypara').html(form_data);
    //   $.ajax({
    //     url:'insertTime.php',
    //     method: 'POST',
    //     data: form_data,
    //     success:function(data){
    //       $('#mypara').html(data);
    //     }
    //   });
    // });

    function insertTime(event){
      var form_data = $(this).serialize();
      $('#mypara').html(form_data);
      $.ajax({
        url:'insertTime.php',
        method: 'POST',
        data: form_data,
        success:function(data){
          $('#mypara').html(data);
        }
      });
    }

</script>

  </body>
</html>

这是loadTimesheets.php,用于将表单加载到index.html中

<?php

  echo "<table class='table table-hover'>";

  echo "<form method='post' id='user_form'>
            <tr>
            <td> Gani </td>
            <td> PHP </td>
            <td><input type='text' name='time[]' value=0></td>
            <td><input type='text' name='time[]' value=0></td>
            <td><input type='text' name='time[]' value=0></td>
            <td><input type='text' name='time[]' value=0></td>
            <td><input type='text' name='time[]' value=0></td>
            <td><input type='submit' value='submit'>
            </tr></form>";
// <td><input type='submit' value='submit' onsubmit='insertTime(event)'>
  echo "</table>";



 ?>

这是我的insertTime.php,在提交表单时会调用

<?php

  $total_time = 0;
  $sql = "
          UPDATE timesheet
          SET time_period_1 = ". $_POST['time'][0]. ",
          time_period_2 = ". $_POST['time'][1]. ",
          time_period_3 = ". $_POST['time'][2]. ",
          time_period_4 = ". $_POST['time'][3]. ",
          time_period_5 = ". $_POST['time'][4]. ",
          total_time = ". $total_time. ";";

echo $sql;

 ?>

如果我只是通过将索引作为php文件直接加载并使用require内联加载来直接加载表单,则表单数据提交没有问题。 请在这方面帮助我。预先感谢。

0 个答案:

没有答案