2011-12-14 17 views
1

我與一些jQuery的一種回調玩弄從周圍的MVC阿賈克斯操作鏈接jQuery的回調和形式陣列

@Ajax.ActionLink("Sign In", "SignIn", "Account", null, new AjaxOptions { OnSuccess = "SignInForm.onSuccess",UpdateTargetId = "content-panel-inner",HttpMethod = "get"}, new { @id = "sign-in" }) 

這裏是回調:

var SignInForm = { 
onSuccess: function (data, textStatus) { 

    var form ='#' + $(data).find('form').attr('id'); 
    jQuery.validator.unobtrusive.parse($(form)); 
    console.log(data); 
} 

};

正如你所看到的相當簡單。我甚至將數據扔到控制檯上......我的問題是,如果有多個表單從最初的ajax調用中返回,該怎麼辦?獲取表單元素集合的最簡單方法是什麼?可能嗎?

回答

2

我不知道如何驗證確實有效,但如果有多種形式,那麼你也可以遍歷他們是這樣的:

$(data).find('form').each(function() { 
    jQuery.validator.unobtrusive.parse($(this)); 
}); 

而且,你的榜樣是很婉轉。你可以通過元素,而不是直接使用的ID:

jQuery.validator.unobtrusive.parse($(data).find('form')); 
+0

是的,我知道我的例子是「迂迴」,我一直在尋找一個更好的方式做事情,你提供了一個更好的辦法。謝謝,標記爲答案。 –