Php 如何检测表单是否输入';s值自设置后已更改

Php 如何检测表单是否输入';s值自设置后已更改,php,javascript,jquery,html,input,Php,Javascript,Jquery,Html,Input,我目前正在创建一个定制的CMS。我正在处理的具体部分是关于管理照片库的。在用户可以更新某个相册中的详细信息的页面上,我使用jQuery的$.ajax进行了大量更新 例如,每个图像旁边都有一个标题字段,我将focusout事件绑定到我的ajax调用中,它工作得非常好,使用户可以快速地通过选项卡查看和更新照片的所有标题 但是,由于我正在绑定focusout事件,因此可能会调用很多次,特别是在不需要时。比如说,他们在三个字段中进行制表,而这三个字段是不变的。每次按下tab键时都会调用$.ajax,即使

我目前正在创建一个定制的CMS。我正在处理的具体部分是关于管理照片库的。在用户可以更新某个相册中的详细信息的页面上,我使用jQuery的
$.ajax
进行了大量更新

例如,每个图像旁边都有一个标题字段,我将
focusout
事件绑定到我的ajax调用中,它工作得非常好,使用户可以快速地通过选项卡查看和更新照片的所有标题

但是,由于我正在绑定
focusout
事件,因此可能会调用很多次,特别是在不需要时。比如说,他们在三个字段中进行制表,而这三个字段是不变的。每次按下tab键时都会调用
$.ajax
,即使他们没有更改输入值

所以,我的问题是,如何存储和检测一个值是否与最初的值(或上次ajax调用时的值)不同


是否可以使用jQuery的
.data()

将原始值存储在input type中,并比较每个focusout事件中的原始值和当前值

正确执行此操作的关键是将数据与输入字段分开。当用户模糊输入框时,可以对照内存中的数据检查值。如果值不同,则执行ajax请求。如果没有,你什么也不做,并保存往返

您可以自己编写,但在过去几年中出现了很多框架,它们都能很好地完成这一任务。其中:


主干似乎是其中最受欢迎的

使用非常简单的jQuery解决:

在document.ready中:

$('.caption_field').each(function() {
    var startval = $(this).val();
    $(this).data('setval',startval);
});
然后,在进行ajax调用时:

if (caption == $(this).data('setval')) return; // not changed
当呼叫成功返回时:

field.data('setval',caption);