У меня есть страница с полями, редактируемыми через contenteditable. Я автоматически создаю поля через ajax после того, как пользователь отредактирует это поле. Проблема в том, что у меня есть несколько полей на одной странице, и когда я пытаюсь автосохранять более одного поля, одно из полей не будет работать или будет перезаписано с тем же содержимым, что и другое поле.Ajax autosave несколько полей
Это код, который я использую для обновления базы данных, и он работает именно так, как я хочу, чтобы это поле «имя».
$('.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);
};
})();
Что я делаю неправильно в вышеуказанном блоке кода?
как вы называете свои поля? i означает, что все поля имеют атрибут name = "name" или что-то вроде этого name = "name []"? –
\t
– hooverstudios