我在页面上有很多输入元素,用户可以改变。我不想提交表格。我只想在用户更改其中一个元素内的值后更改数据库值。通过ajax更新数据库中的各个表单元素值?
我目前正在试验绑定focusout到每个输入。这是它通常完成的方式(Facebook等)?
$('input').focusout(function() {
var current_val = $(this).val();
var preset_val = $(this).attr('rel');//attribute set with original value
if (current_val !== preset_val) {
alert ('Value changed.');//where I would post to php page to update database
}
});"
还有'[on] change'事件,试试看吧(用所有浏览器测试!) – 2013-03-11 15:14:31
我不确定我是否理解这个问题,您是否在寻找代码审查?数据绑定工作原理和JavaScript数据绑定技术的主题非常广泛。检查AngularJS,Knockout.js和Ember,这三个是实现这种事情的大型库 – 2013-03-11 15:14:38
是的,我自己也这样做,我也是这样使用的!如果当前值与原始值不同:'$(this).attr('defaultValue')!= $(this),我将绑定所有'input:text'上的'blur'事件并调用我的Ajax函数。 val()' – JoDev 2013-03-11 15:16:33