成功后更改自动保存url参数

时间:2015-07-24 19:17:01

标签: javascript php jquery ajax

我使用自动保存插件(如下所示)在字段更改时自动保存表单 http://www.simonbattersby.com/blog/using-the-jquery-autosave-plugin/

首次加载表单时,表单ID为零(" 0")。我成功保存表单更改并请求数据库ID ...我尝试做的是获取新ID并将其应用于自动保存的URL,以便在下一次更改时使用该id保存到数据库。

我尝试过另一个ajax调用来更新带有新id的页面,但页面替换它并不好。老实说,我不知道为什么变量不会发生变化。和网址更新...我的偏好是使用我拥有的并成功更改自动保存上的网址。

fid = "<?php echo json_encode($formid);?>";

function setDefault(formID){
    fid=formID;
}

furl="autosave.php?formname=" + aformname;

$("input,select,textarea,radio,checkbox").not('.SaveBtn').autosave({
    url: furl + "&id=" + fid,    //set the php file to update the database
    method: "POST",
    grouped: true,                                          
    success: function(data) {                                       
            var formID= data.replace(/(^\s+|\s+$)/g, '');
            if(formID){
                    setDefault(formID);
            }
    },
    send: function(){//on a save...
            $("#message").html("Sending data....");//..show a message
    },
    dataType:"html"
});

我已经坚持了2天了。

1 个答案:

答案 0 :(得分:0)

如果其他人需要做类似的事情,这就是我解决问题的方法。 在数据库中第一个字段成功后,表单ID存储在隐藏字段中。 在下一个字段更改时,自动保存插件将采用隐藏值,更改将存储到正确的表单ID。

$("input,select,textarea,radio,checkbox").not('.SaveBtn').autosave({
    url: furl,    //set the php file to update the database
    method: "POST",
    grouped: true,                                          
    success: function(data) {                                       
        var formID= data.replace(/(^\s+|\s+$)/g, '');
        if(formID){
                $("#hiddenformid").val(formID);
        }
      },
   send: function(){//on a save...
        $("#message").html("Sending data....");//..show a message
    },
    dataType:"html"
    });

 <input type="hidden" name="hiddenformid" id="hiddenformid" value="<?php echo $formid;?>">