我有一个用户可以用来提交报告的表单。由于其中一个字段是一个可以放置相当长文本的文本区域,我想插入一个每分钟左右自动保存条目的函数,但我不确定这背后的原理。
我能想到的解决方案是:
两个考虑因素:
这似乎在我脑海中起作用,但我想知道我是否使用了一个非常复杂的过程,并且有一个更好的过程?
谢谢, P
答案 0 :(得分:2)
一旦表单被加载,一个函数将被触发,它将在每10秒(或你提到的任何时间)之后重复。该函数将采用您的形式,序列化并发送到服务器端脚本(很可能是PHP),PHP脚本将在数据库中插入该记录(通过AJAX)并返回此插入记录的主键(id)。现在,当第一次执行函数时,它使用以下参数插入记录:
Entry_id = 1 (or whateverthe primary key at which the record is saved),
Version = 1,
Visibility = FALSE
此函数返回主键。所以现在你必须检查自动保存功能的开始,检查主键是否被返回(记录已插入),如果已经返回此键,它将再次让你的表单序列化并发送给另一个服务器端脚本(更新功能)中的函数以及从第一次自动保存调用返回的主键作为参数,并在数据库中根据此键更新记录。
现在用户继续键入内容,自动保存功能每10秒钟继续触发,数据被插入(第一次)并不断更新。用户按下表单上的“保存”按钮后,再次使用该主键并使用以下值更新该记录:
Version = 1,
Visibility = TRUE