我使用自动保存插件(如下所示)在字段更改时自动保存表单 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天了。
答案 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;?>">