javascript - 当用户更改值时定期发送 POST 请求
问题描述
解决方案
自动保存表单组件使用onchange
(and/or onkeyup
and/or onkeydown
) 属性来注册事件并调用 save 方法。
此外,还有触发很多请求的问题。这可以通过setTimeout
andclearTimeout
解决;
代码看起来像这样(伪代码):
//HTML
<form method="POST" action="/" name="myForm">
<textarea name="textareaName_1" onchange="handleAutoSave"></textarea>
<textarea name="textareaName_2" onchange="handleAutoSave"></textarea>
...
</form>
// JS
var autoSaveProgress = null;
function handleAutoSave() {
var formData = new FormData(document.querySelector('[name]="myForm"'));
// cancel last request
if(autoSaveProgress){
autoSaveProgress();
autoSaveProgress = null;
}
autoSaveProgress = setTimeout(function() {
saveToLocalstorage('KEY', formData);
} ,1000); // 1s delay till commit
}
推荐阅读
- c - 您可以在 C 中进行重载并具有相同的函数名吗?
- php - 为什么 PHP Simple DOM 库不适用于 PHP 7.4.5?
- sql - SQL - 将单元格/行输出附加到现有列名
- php - 登录功能的 PHP 会话无法正常工作
- java - 来自 Firebase 的 dataSnapshot.getValue(MyClass.class) 在开发中工作正常,但在发布到 Play 商店后得到空值
- docker - 如何将字典和列表成员添加到键中?
- excel - 检测新的 Excel 溢出模式并重置它
- angular - 使用spring security的auth api调用的交叉错误
- java - Java:浅拷贝(克隆)对我不起作用?
- compiler-errors - 这个帕斯卡语法有什么问题?? - 导致编译器错误