如何获取调用AJAX.BeginForm的onSuccess的表单或div

我在div元素中调用了Ajax.BeginForm,所以我想得到表单所在的div元素。即我想要一个等价的

function function1(event){ var table = $(event.target).parents("table"); } 

可以从Ajax.beginform的onsuccess函数中使用。 有人可以帮忙吗?

事实certificate,在onsuccess函数中,“this”指的是表单元素。 所以我可以轻松使用,

 $(this).find("mydiv"); 

要么

 $(this).parent("table").find("mydiv"); 

MVC4似乎打破了它。 可怕的“这个”现在是XHR。 要解决此问题,请使用此讨厌的黑客:

 $(function() { var lastEvent = null; $("body").on("submit", "form[data-ajax=true]", function(e) { lastEvent = e; }); window.TagXhrWithEventTarget = function(xhr) { xhr.capturedSubmitEvent = lastEvent; } }); 

并以开始forms:

 @using (Ajax.BeginForm("MyAction", "MyController", new AjaxOptions { HttpMethod = "POST", OnSuccess = "ProcessResponse", OnBegin = "TagXhrWithEventTarget" } 

然后在ProcessResponse中:

 function ProcessResponse(data, status, xhr) { var e = xhr.capturedSubmitEvent; var control = e.target; . . . 
Interesting Posts