我已经慢慢地从microssoft ajax转移到
jquery所有我的ajax东西.我唯一留下的是一些使用Ajax.Beingform使用microsoft ajax发布的表单.这是一个asp.net mvc网站,所以提交应该调用控制器post post.
如果您的表单如下所示,使用
jQuery Form plugin来实现大部分功能可能是最简单的: –
<%= Ajax.Form(new AjaxOptions { Url = theUrl,Method = theMethod,Confirm = confirmFunction,InsertionMode = InsertionMode.Before,OnBegin = onBegin,OnComplete = onComplete,OnFailure = onFailure,OnSuccess = onSuccess,UpdateTargetId = elementId,LoadingElementId = loadingElementId });
$("#yourFormId").ajaxForm({ url : theUrl,type : theMethod,beforeSubmit : confirmFunction,beforeSend : onBegin,complete : onComplete,success : onSuccess,error : onFailure });
唯一的问题是复制LoadingElementId,UpdateTargetId和InsertionMode属性.
如果要复制InsertionMode.Replace,可以将其他目标选项传递给ajaxForm插件.如果要复制剩余的功能,则必须编写自己的beforeSend,success和complete事件处理程序.
类似下面的内容将使用InsertionMode.Before模拟表单,UpdateTargetId =“Test”,LoadingElementId =“Loader”: –
$("#yourFormId").ajaxForm({ beforeSend : function() { $("#Loader").show(); },complete : function() { $("#Loader").hide(); },success: function(result) { $(result).prependTo("#Test"); } });