需要更改代码以定期执行(自动保存)

Need to change code to periodically execute (autosave)

本文关键字:执行 保存 代码      更新时间:2023-09-26

这是工作代码。如果点击按钮,代码执行

$(document).ready(function() {
$("#register").click(function(){
if ($("#is_row_changed1").val() > 0) {
$.post(
"_autosave.php",
$("#form1").serialize(),
function(data) {
$('#load').html(data);
document.getElementById('is_row_changed1').value = 0;
}//function(data) {
);//$.post(
//var str = $("#form1").serialize();//this will display in #stage2 all input values like date_day1=22&date_month1=04
//$("#stage2").text(str);
}//if ($("#is_row_changed1").val() > 0) {

});//$("#register").click(function(event){
});//$(document).ready(function() {

我需要它周期性地执行,例如每5秒执行一次

如果$(document).ready(function() {变成function autosave() { var t = setTimeout("autosave()", 5000);,什么都不会发生。

正确的代码是什么?

似乎有工作代码。请指教(可能有错误/不好的地方)

$(document).ready(function() {
$(function() {
setTimeout(autoSavePost, 5000); 
});

function autoSavePost() {
//$("#register").click(function(){
if ($("#is_row_changed1").val() > 0) {
$.post(
"_autosave.php",
$("#form1").serialize(),
function(data) {
$('#load').html(data);
document.getElementById('is_row_changed1').value = 0;
}//function(data) {
);//$.post(
//var str = $("#form1").serialize();//this will display in #stage2 all input values like date_day1=22&date_month1=04
//$("#stage2").text(str);
}//if ($("#is_row_changed1").val() > 0) {
setTimeout(autoSavePost, 5000);
}//function autoSavePost() {
//});//$("#register").click(function(event){
});//$(document).ready(function() {

看起来不错,我可能要做的一个改变是使用setInterval

$(document).ready(function() {
    function autoSavePost() {
        if ($("#is_row_changed1").val() > 0) {
            $.post("_autosave.php", $("#form1").serialize(), function(data) {
                $('#load').html(data);
                $('#is_row_changed1').val(0)
            });
        }
    }
    setInterval(autoSavePost, 5000);
});