AJAX получает значения только для последней формы ⇐ Php
-
Anonymous
AJAX получает значения только для последней формы
Я использую AJAX для автоматического обновления текстовых полей и текстовых областей и сохранения их в базе данных.
Все работает до тех пор, пока не останется два экземпляра одинаковой формы. Я понял, что функция AJAX принимает значения из формы. Я проверил с помощью console.log(data). Интересно, переопределяет ли последняя форма все?
Это также прекрасно работает, если все имена уникальны. Однако в моем SQL-коде будет так много повторений, что он не будет эффективен, если пользователь создаст 10 таких форм.
Как сделать так, чтобы этого не произошло?
Спасибо!
index.php
Заголовок предложения Описание Призыв к действию
script.js
var timeoutId; $('textarea, .text-input').on('изменение входного свойства', function() { console.log('Изменение текстовой области'); ClearTimeout (идентификатор таймаута); timeoutId = setTimeout(function() { // Запускается через 1 секунду (1000 мс) после последнего изменения сохранитьToDB(); }, 1000); }); функция saveToDB() { console.log('Сохранение в БД'); var data = $(".form-input").serialize(); console.log(данные); $.ajax({ URL: "", тип: "ПОСТ", асинхронный: правда, кеш: ложь, данные: данные, успех: функция (данные) { console.log('завершено'); } }); } $('.form-input').submit(function(e) { сохранитьToDB(); е.preventDefault(); }); Спасибо!
Я использую AJAX для автоматического обновления текстовых полей и текстовых областей и сохранения их в базе данных.
Все работает до тех пор, пока не останется два экземпляра одинаковой формы. Я понял, что функция AJAX принимает значения из формы. Я проверил с помощью console.log(data). Интересно, переопределяет ли последняя форма все?
Это также прекрасно работает, если все имена уникальны. Однако в моем SQL-коде будет так много повторений, что он не будет эффективен, если пользователь создаст 10 таких форм.
Как сделать так, чтобы этого не произошло?
Спасибо!
index.php
Заголовок предложения Описание Призыв к действию
script.js
var timeoutId; $('textarea, .text-input').on('изменение входного свойства', function() { console.log('Изменение текстовой области'); ClearTimeout (идентификатор таймаута); timeoutId = setTimeout(function() { // Запускается через 1 секунду (1000 мс) после последнего изменения сохранитьToDB(); }, 1000); }); функция saveToDB() { console.log('Сохранение в БД'); var data = $(".form-input").serialize(); console.log(данные); $.ajax({ URL: "", тип: "ПОСТ", асинхронный: правда, кеш: ложь, данные: данные, успех: функция (данные) { console.log('завершено'); } }); } $('.form-input').submit(function(e) { сохранитьToDB(); е.preventDefault(); }); Спасибо!
Мобильная версия