jQuery Validation没有处理ajax的表单内容

时间:2013-07-28 14:24:38

标签: javascript jquery ajax jsp validation

我搜索过高低,我发现其他人可能遇到类似的问题,但我找不到符合我特定情况的解决方案。我不能再在这个障碍上失去头发了!这是我的交易:

我有一个利用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("&nbsp;" + $('#ok').val() + "!");
            label.addClass("success");
        },
        highlight : function(element, errorClass) {
            $(element).parent().next().next()
                      .find("." + errorClass)
                      .removeClass("success");
        }
});

对不起,很长的帖子。我想提供尽可能多的信息来获得有用的回应。如果我遗漏任何可能有益的东西,请告诉我。

谢谢!

0 个答案:

没有答案