Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax表单提交密钥或更改_Javascript_Ajax - Fatal编程技术网

Javascript Ajax表单提交密钥或更改

Javascript Ajax表单提交密钥或更改,javascript,ajax,Javascript,Ajax,我正在创建一个没有“提交”按钮的表单,该按钮将在每次表单元素更改值时发送提交。(所有文本输入) 如果我使用onchange事件,表单将在我blur字段之前提交,这将太晚。我需要它提交每一个小的变化。例如,键入“五”意味着提交5次 如果我使用key up,它将进行大量提交,并在服务器上创建竞争条件。这样做的最佳方法是什么?还有其他选择吗?谷歌文档使用计时器,大约每2秒保存一次 存在其他自动保存方法,例如: 推送服务 使用javascript MV*框架。仅同步已更改的数据 那么您希望在每次输入更

我正在创建一个没有“提交”按钮的表单,该按钮将在每次表单元素更改值时发送提交。(所有文本输入)

如果我使用
onchange
事件,表单将在我
blur
字段之前提交,这将太晚。我需要它提交每一个小的变化。例如,键入“五”意味着提交5次


如果我使用key up,它将进行大量提交,并在服务器上创建竞争条件。这样做的最佳方法是什么?还有其他选择吗?

谷歌文档使用计时器,大约每2秒保存一次

存在其他自动保存方法,例如:

  • 推送服务

  • 使用javascript MV*框架。仅同步已更改的数据


那么您希望在每次输入更改时向服务器发送ajax提交请求,而不发送太多提交?我不明白你为什么要这么做。为什么每次输入发生变化时你都要提交表单(有很多输入)?如果你能提供一个理由,我们可能会想出一个黑客!如果您试图跟踪每一个微小的更改(即按键),那么您可以让一个基于键的处理程序缓存这些更改,并让它每隔X毫秒左右提交一次。您可以使用间隔计时器包装您的请求。甚至可能在blur上有一个处理程序,它超越了时间间隔并完成完整提交。顺便说一句,如果您将请求包装在一个合理的时间间隔内,那么如果计时器的长度合理,那么您对竞争条件的担忧就会大大减轻,因为计时器的计时器队列比ajax请求的队列更线性。其思想是,我将有一个包含25个表单的页面,用于更新特定项目的数据。我不希望用户每次都记得点击提交,也不希望页面刷新。我希望行为类似于谷歌文档如果我有一个计时器,比如说20个表单,这可能是一次大量的请求。你认为我应该保留一个已经编辑过的表单列表,并且每2秒同步一次吗?我不想做推送服务你会一次保存所有表单,所以每2秒总共保存一次。您可以进行客户端检查,查看哪些字段已更改,然后只保存这些字段。25个ajax请求不是服务器需要处理的很多吗?您是对的,不保存更改表单列表的想法应该会有所帮助