Вопрос

У меня есть форма одной страницы, сделанная с помощью Spring MVC.Пользователь должен сначала зарегистрироваться, и я бы хотел, чтобы форма сохранялась автоматически, чтобы пользователь мог прийти позже, чтобы доработать ее.Традиционная отправка формы с таймером - это не то, что я ищу.Вместо этого я планирую использовать какой-нибудь ajaxy-способ отправки полей на сервер при каждом событии onFocus.

Есть какие-либо предложения по реализации или комментарии к этому подходу?

Это было полезно?

Решение

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

Другие советы

вы также можете проверить XT Ajax фреймворк

Я решил это с помощью http://docs.jquery.com/Ajax/serialize как и предлагал Якобм.Затем сериализованная форма отправляется как ajax post, запускаемая таймером.

В Spring MVC я создал очень простой контроллер, расширяющий AbstractController, и извлек свои поля из запроса.

Приведенный ниже Js-скрипт поможет вам выполнить ajax-вызов при любом изменении поля формы.

<script>
  $(document).ready($('.form-control').change(function() {
   $.ajax({
    type : "post",
    url : "http://localhost:8521/SpringExamples/autosave/save.htm",
    cache : false,
    data : $('#employeeForm').serialize(),
    success : function(response) {
     var obj = JSON.parse(response);
     $("#alert").text(JSON.stringify(obj));
     $("#alert").addClass("alert-success");
    },
    error : function() {
     alert('Error while request..');
    }
   });
  }));
 </script>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top