【发布时间】:2010-10-09 01:44:11
【问题描述】:
我用 Spring MVC 完成了一页表单。用户必须先注册,我希望自动保存表单,以便用户稍后来完成它。带有计时器的传统表单提交不是我想要的。相反,我计划在每个 onFocus 事件中使用一些 ajaxy 方式将字段发送到服务器。
对这种方法的实现或 cmets 有什么建议吗?
【问题讨论】:
标签: ajax spring forms spring-mvc autosave
我用 Spring MVC 完成了一页表单。用户必须先注册,我希望自动保存表单,以便用户稍后来完成它。带有计时器的传统表单提交不是我想要的。相反,我计划在每个 onFocus 事件中使用一些 ajaxy 方式将字段发送到服务器。
对这种方法的实现或 cmets 有什么建议吗?
【问题讨论】:
标签: ajax spring forms spring-mvc autosave
我最近也做了同样的事情。我使用了 JQuery 并使用了他们的“序列化”功能以及他们的“ajax”功能来提交表单。在我的例子中,我没有使用事件驱动的方法,而是简单地将序列化的表单保存到一个变量中,并每分钟检查一次新的序列化表单是否与之前保存的不同。
【讨论】:
您也可以查看XT Ajax framework
【讨论】:
我按照 JacobM 的建议使用 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>
【讨论】: