Вы можете отслеживать все введенные данные (onchange и т. Д.), Кодировать и помещать их в локальное хранилище.Когда страница загрузится, посмотрите, есть ли у вас что-нибудь в локальном хранилище, и заполните форму данными пользователя.
Убедитесь, что вы освобождаете хранилище при необходимости (отправка формы, при загрузке, после чтения данных и т. Д.)
Если проблема, которую вы пытаетесь решить, настолько узка, вы можете сделатьданные очень недолговечны в хранилище тоже.Кроме того, сделайте это только для сеанса, если можете.Вы также можете ограничить сохранение данных событием onbeforeunload вместо сохранения при каждом изменении.По крайней мере, сделайте setTimeOut () с некоторым разумным количеством секунд после запуска onchange и сохраните его в обработчике setTimeOut, таким образом вы не будете излишне использовать CPU.