Одна кнопка отправки. Я мог бы предвидеть случай, когда я мог бы использовать более одного, но в общем случае только один. (Обратите внимание, это похоже на вопрос веб-страницы, поэтому я отвечаю с этим предположением.)
На ум приходит 3 способа отслеживания изменений:
JavaScript: добавьте функцию onChange () к элементам управления, которые обновляют скрытое поле. Если это скрытое значение, обновите связанную запись. Требует JS в браузере и не сообщает, какие поля обновлять, какие записи.
Множество полей формы: поместите скрытое поле с каждым элементом управления и сравните их все, когда они вернутся. Это было бы некрасиво, но это позволило бы вам узнать, какие поля обновлять (а не только запись). Это также позволит вам узнать, отменил ли кто-то изменение, которое началось.
Сеансы: вы можете поместить исходные значения в переменные сеанса, а затем выполнить сравнение при возврате значений. Это было бы немного более элегантно, чем множество скрытых полей, и менее открыто для людей, играющих с опубликованными данными (так как вы никогда не должны доверять всему, что возвращается, даже в скрытых полях). Требуются файлы cookie в браузере и сеансы по технологии сервера.