【发布时间】:2014-01-13 16:47:20
【问题描述】:
我有一个页面,其中包含可通过 contenteditable 编辑的字段。用户编辑字段后,我通过 ajax 自动保存字段。问题是,我在同一页面上有多个字段,当我尝试自动保存多个字段时,一个字段将不起作用或被与另一个字段相同的内容覆盖。
这是我用来更新数据库的代码,它完全按照我对“名称”字段的要求工作。
$('.editname').keyup(function() {
delay(function(){
var name= $('.editname').text();
$.ajax({
type:"post",
url:"update.php",
data:"name="+name,
success:function(data){
console.log('success!');
}
});
}, 500 );
});
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
但是,如果我尝试像下面这样编辑它或复制它并给它一个不同的名称,它将无法与第一个字段一起更新另一个字段。
$('.editname').keyup(function() {
delay(function(){
var name= $('.editname').text();
$.ajax({
type:"post",
url:"update.php",
data:"name="+name,
success:function(data){
console.log('success!');
}
});
}, 500 );
});
$('.editsummary').keyup(function() {
delay(function(){
var summary= $('.editsummary').text();
$.ajax({
type:"post",
url:"update.php",
data:"summary="+summary,
success:function(data){
console.log('success!');
}
});
}, 500 );
});
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
我在上面的代码块中做错了什么?
【问题讨论】:
-
你是如何命名你的字段的?我的意思是所有字段都有属性 name="name" 或类似 name="name[]" 的东西?
-