Jquery检查表单中发生了什么变化


jquery check what changed in a form

我需要检查表单中的任何数据是否已被用户更改,以任何方式删除,添加或修改,并将数据发送到PHP,以便我只需要执行特定的更新命令,而不是更新所有内容。最好的方法是什么?

首先决定您需要检查客户端还是服务器端更新的数据。

如果你在客户端检查更新的数据,你将防止提交不需要的数据,提交将会很快。要做到这一点,当你提交表单之前提交,在以下js方法检查哪些数据已更改。首先在文档准备函数中,创建隐藏变量或全局js变量并分配form的初始值。然后在以下方法中检查当前表单值与这些变量值。然后,您可以确定哪些数据已被更改。然后从表单中删除现有值。(删除数据时可能需要注意强制字段)。

$("#myform").submit(function(){
    // Put code here.
});  

如果你打算在服务器端检查数据,你可以把逻辑放在服务器端,以防止混淆客户端代码和存储大量数据。要实现这一点,您必须执行额外的数据库调用。从表单中获取数据后,在服务器端做额外的db调用,该调用用于初始加载数据到表单并检查更改的数据,然后仅保存更新的数据。