Сохранять значения в форме, созданной с помощью AJAX - PullRequest
0 голосов
/ 29 октября 2019

У меня есть кнопка и нажатие этой кнопки, я создаю всплывающее окно с полями ввода в нем, что делается с помощью AJAX. Как только форма создана, я пытаюсь сохранить значения в форме, используя сессию.

Вот мой вызов ajax:

function getDiskSheet() {
		var form = document.getElementById("Form");
		var myAjax = new Ajax.Updater("output",
				"/jsp/Limiter.jsp", {
					asynchronous : true,
					postBody : Form.serialize(form),
					method : 'post',

					onComplete : function() {
						displayLimiter();			
					}

				});
	} 
	

	
<td class="trigger_popup">
<a href="javascript:void(0);" tabindex="-1"><input type="button" value="open form" onclick="getDiskSheet()"> </a>

Вот так выглядит моя форма.

popup form

Проблема здесьзаключается в том, что каждый раз, когда я закрываю форму и снова нажимаю на кнопку, она перезапускает функцию ajax и ранее введенные данные исчезают. Я пытаюсь найти способ сохранить данные в форме и снова открыть их с ранее введенными данными.

Мне не нужно вводить его в базу данных, поэтому я пытаюсь сохранить его с помощью сеанса, но он не работает для меня.

Вот что я попробовал. Любая помощь будет оценена. Спасибо.

 <%
    String save = request.getParameter("save");
    if(save != null){
        String[] diskvalues = request.getParameterValues("diskvalues");
        request.getSession().setAttribute("diskvalues", diskvalues);    
    }

    %> 

<%
    String diskvalues = (String)request.getSession().getAttribute("diskvalues");                
%>

1 Ответ

0 голосов
/ 29 октября 2019

В качестве обходного пути, и, конечно, если информация может быть сохранена (избегайте конфиденциальной информации), вы можете использовать Javascript Localstorage:

Пример:

String[] diskvalues = //here you get your diskvalues;

window.localStorage.setItem('diskvalues',diskvalues);

И затем вы извлекаете еетаким образом:

window.localStorage.getItem('diskvalues');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...