我搜索过高低,我发现其他人可能遇到类似的问题,但我找不到符合我特定情况的解决方案。我不能再在这个障碍上失去头发了!这是我的交易:
我有一个利用Spring MVC,jQuery,JSP和Ajax的Java J2EE应用程序。我的应用程序分为多个角色,用于批准和审核来自其下方级别(如商店/区/区域)的提交。所以我所做的就是我使用Ajax来引入每个页面的片段,具体取决于他们选择的层次结构。事情进展得相当好,直到我注意到我的Jquery验证不再使用Ajax引入的表单。每当用户从表单单元格中选项并提交表单时,都应该进行验证。
我已经看到了涉及使用live()和delegate()绑定事件的建议,甚至还有对jQuery Unobtrusive Validation插件(似乎支持ASP.NET MVC)的引用。但这些似乎都没有让我到达我需要的地方。有人可以建议一个解决方案,所以我不会再失去头发吗?它已经非常薄了。
这是我在高级别的代码:
控制器
@RequestMapping("/changelocationforapproval")
public @ResponseBody ExecutiveContainerObject changeLocationForApprovalTest(@RequestParam String store, @RequestParam String market, Model model) {
ExecutiveContainerObject container = buildDmApprovalResponse(market, store);
return container;
}
Ajax请求
var request = $.ajax({
url: "changelocationforapproval.html",
dataType : 'text',
type : "post",
data: {store : selectedStoreTab, market : selectedMarketTab},
async: true
});
request.done(function(data) {
var source = $('<div>' + data + '</div>');
$('#results').html(source).html();
});
表单验证绑定
$("#dmApprovalFormLocations")
.validate({
errorElement : "em",
errorPlacement : function(error,element) {
error.appendTo(element.parent().next().next());
},
success : function(label) {
label.html(" " + $('#ok').val() + "!");
label.addClass("success");
},
highlight : function(element, errorClass) {
$(element).parent().next().next()
.find("." + errorClass)
.removeClass("success");
}
});
对不起,很长的帖子。我想提供尽可能多的信息来获得有用的回应。如果我遗漏任何可能有益的东西,请告诉我。
谢谢!