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