2009-02-21 5 views
1

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

Любые предложения по реализации или замечания по этому подходу?

ответ

3

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

0

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

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

+0

так что вы должны были принять ответ ЯкобаМ ... – Javatar

0

Ниже сценария 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> 
Смежные вопросы