Ajax не работает в форме при загрузке через ajax PHP - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь загрузить форму со стороны сервера, используя Ajax и PHP. Все работает нормально, но когда я выполняю вызов ajax при отправке формы, данные формы не собираются.

Я попытался переместить вызов ajax в и из документа. Уже и попытался поместить в конец тела. Я попытался заменить 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, проблем с отправкой данных формы не возникает. Пожалуйста, помогите мне в этом отношении. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...