отправка формы с помощью ajax jquery

#jquery

#jquery

Вопрос:

у меня есть форма, в которой я сохраняю время, проведенное пользователями на сайте, поэтому для каждого пользователя есть один идентификатор, а моя форма

 <form id="mycash" name="form6" method="post" action="">
<input name="Time_Spent1"  value="'.$row['Time_Spent'].'"  id="Time_Spent1"        type="text" size="7" readonly="readonly" /><input type="button" name="task" id="task" value="submit">
 

я использую этот javascript для отправки формы с помощью ajax. но он не работает.

 <script language="javascript">$(document).ready(function(){
$("form#mycash").submit(function() {
var Time_Spent1     = $('#Time_Spent1').attr('value');
var task     = $('#task').attr('value');
    $.ajax({
        type: "POST",
        url: "page.tpl.php",
        data: "Time_Spent1="  Time_Spent1   "amp;'{$client['id']}'="  '{$client['id']}'  "amp;task="  task,
        success: function(){
            $('form#mycash').hide(function(){$('div.success').fadeIn();});

        }
    });
return false;
});
 

});

я хочу автоматически отправлять эту форму каждые 20 секунд. любое предложение, в котором я делаю ошибку

Ответ №1:

Я не вижу никакой автоматизации. Попробуйте это:

 (function submitForm(){
    setTimeout(function(){
        $("form#mycash").submit();
        submitForm();
    },20000);
}());
 

Комментарии:

1. я сделал это, спасибо, но автоматическая отправка не работает. Пожалуйста, проверьте свой код автоматической отправки. я думаю, что в коде есть какая-то ошибка

Ответ №2:

Почему у вас ‘ в селекторе jQuery $(‘#Time_Spent1’) должно быть $ (‘#Time_Spent1’)., надеюсь, это поможет. Часть данных, которую вы должны оставить в формате JSON

 $.ajax({
    type: "POST",
    url: "page.tpl.php",
    data: {"Time_Spent1":  Time_Spent1, "task" : task}
 

….

Если вы хотите выполнить автоматическую отправку, вам следует создать функцию и задать для нее интервал

 function submitform(){//Do something}

setInterval(submitform, 20000); //20k milisecond = 20secs