Нажатие кнопки «Назад» в браузере обычно приводит к перезагрузке страницы из кэша (без взаимодействия с сервером), так что вы не можете управлять этим с помощью ветки (код сервера), если пользователь не обновляет страницу (повторно отправляет запрос на сервер).
Вам необходимо решение javascript (интерфейсный код), как показано ниже, для проверки типа навигации.
if (window.performance && window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD) {
// Disable the form
var inputs = document.getElementsByTagName("INPUT");
for (var i = 0; i < inputs.length; i++) {
inputs[i].disabled = true;
if (inputs[i].type === 'submit') {
inputs[i].remove();
}
}
}
Я рекомендую вам также искать и соответствующим образом обрабатывать дубликаты представлений в контроллере, который обрабатывает форму, поскольку любой опытный пользователь все еще может отправить форму.
Ссылки:
обнаружение нажатия кнопки назад
отключение входов