Php 检测更改的字段并通过jquery和ajax发送

Php 检测更改的字段并通过jquery和ajax发送,php,jquery,ajax,Php,Jquery,Ajax,找不到这个问题的答案 我有一个表单,它通过jquery检测已更改的字段,如果已编辑则添加已编辑字段,如果未编辑则添加可编辑字段 单击一个按钮,我希望它找到所有类为“edited”的字段,并将它们存储起来,通过ajax发送到php文件以更新数据库。我构建了PHP文件,可以传递所有表单字段,但我只想传递更改后的表单字段。此特定实例用于“我的帐户”页面,该页面将更新他们的电子邮件、信息、密码等 以下是查找所有这些内容的循环: if ($(".edited").length > 0) {

找不到这个问题的答案

我有一个表单,它通过jquery检测已更改的字段,如果已编辑则添加已编辑字段,如果未编辑则添加可编辑字段

单击一个按钮,我希望它找到所有类为“edited”的字段,并将它们存储起来,通过ajax发送到php文件以更新数据库。我构建了PHP文件,可以传递所有表单字段,但我只想传递更改后的表单字段。此特定实例用于“我的帐户”页面,该页面将更新他们的电子邮件、信息、密码等

以下是查找所有这些内容的循环:

if ($(".edited").length > 0) {
     $(".edited").each(function() {
     $(this).WhatToDoNow();
}); 
用jQuery.ajax做这件事的方法是什么?我需要每个都能被PHP文件识别。另外,在将旧密码发送到PHP文件之前不使用md5是不是很糟糕

我们是否使用json有关系吗?什么是最佳实践

谢谢你们的帮助!!!这个社区触礁了

  • 布伦登

只要您实际提交表单(不仅仅是读取单个值并将其发送到服务器),就可以将未编辑的输入设置为“disabled”属性为true。禁用的表单元素不会提交到服务器


不过,老实说,我认为最好是将整个表单发送到服务器,并在那里处理更改的//未更改的逻辑。如果用户打开第二个表单并提交该表单,然后返回第一个表单,会发生什么?或者如果javascript被禁用了?

我明白了,我刚刚想到了这个,我想它可以工作:var data=$(“.edited”).serialize();然后我可以通过jquery.ajax将其发送到myupdatefile.php,并在那里处理所有值并执行我的逻辑,对吗?是的。serialize是jquery在JS中对提交数据进行编码的方法。如果启用了JS,并且正确分配了.edited类,那么它将起作用,但请注意我的答案中的角案例。注意到它们,我想我很困惑为什么提交两个表单会很重要,但我现在担心javascript被禁用。第一个不太重要,我只是说你的“.edited”status无法知道表单启动时服务器端是否发生了更改(即用户通过浏览器中的其他选项卡更改了电子邮件),因此您可能会得到令人困惑的结果。