Я хочу сохранить содержимое контейнера div в истории окон, запустив следующую строку:
window.history.pushState($('#myDivId').html(), "title", 'some url');
Позже я буду использовать эту информацию, когда пользователь нажимает кнопку возврата.
Проблема:
У пользователя есть форма для заполнения, с одним вводом. Пользователь вводит свое имя (скажем, Джон) и нажимает на кнопку отправить. Функция onSubmit
запущена, и здесь я получаю html-содержимое родительского div и сохраняю его в объекте history. Проблема в том, что пользовательский ввод (Джон) в этом примере не фиксируется.
Следующий снимок экрана показывает вывод моего скрипта ниже:
Фрагмент кода
function onSubmit() {
var str = $('#myDivId').html();
alert("this goes to windows history: " + str);
// window.history.pushState($('#myDivId').html(), "title", 'some url');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form onsubmit="onSubmit()">
<div id="myDivId">
First name: <input id="firstNameId" type="text" name="FirstName" value=""><br>
<input type="submit" value="submit">
</div>
</form>
Как включить пользовательский ввод в str
до его добавления в историю?
Обновление:
Это упрощенный пример, в реальном сценарии у меня есть несколько полей ввода в контейнере. Поэтому я ищу способ захвата всех входных значений через контейнер.