使用ajax jquery提交表单

时间:2011-10-26 03:05:44

标签: jquery

我有一个表单,我存储用户在网站上花费的时间,因此每个用户都有一个ID,我的表单是

<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 + "&\'{$client[\'id\']}\'="+ \'{$client[\'id\']}\'+ "&task="+ task,
        success: function(){
            $(\'form#mycash\').hide(function(){$(\'div.success\').fadeIn();});

        }
    });
return false;
});

});

我想每20秒自动提交此表单。我犯错误的任何建议

2 个答案:

答案 0 :(得分:0)

为什么你在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

答案 1 :(得分:0)

我没有看到任何自动化。试试这个:

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