gpt4 book ai didi

javascript - 为 OnBeign 分配多个功能

转载 作者:行者123 更新时间:2023-11-30 12:42:49 25 4
gpt4 key购买 nike

有没有办法在Ajax.BeginForm()中为OnBegin分配多个javascript函数,同时传递一些参数(即xhrstatus) 到其中之一,例如

@using (@Ajax.BeginForm("Action", "Controller", new AjaxOptions
{
UpdateTargetId = "convertContractorToAnEmployeeFormAjaxContainer",
OnBegin = "(function(xhr, status){ oneFunction(xhr, status); anotherOne();})();"
}))
{
//...
}

当您为 OnBegin 提供一个函数名称时,您有三个参数 xhrstatuserror .我如何在线处理它?<​​/p>

最佳答案

您可以通过将调用包装在匿名函数中来实现。

例如:

Views/Home/Index.cshtml:

<div id='ajaxStatus'></div>
@using (@Ajax.BeginForm("Test", "Home", new AjaxOptions
{
OnBegin = "new function(){func1(xhr); func2();}",
UpdateTargetId = "ajaxStatus",
})
)
{
<input type='submit' />
}

@section Scripts{
@Scripts.Render("~/Scripts/jquery.js")
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.js")

<script type="text/javascript">
function func1(xhr) {
console.log("xhr: ", xhr);
}

function func2(){
console.log("func2 called");
}

</script>
}

HomeController.cs:

public ActionResult Index()
{
return View();
}

public MvcHtmlString Test(object form)
{
return new MvcHtmlString("success");
}

另外,一个小提示:OnBegin 的可用参数是 xhr

这是每个 AjaxOption 可用参数的列表事件属性:

关于javascript - 为 OnBeign 分配多个功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com