【发布时间】:2011-09-22 16:31:12
【问题描述】:
我正在使用启用了 UnobtrusiveJS 的 MVC 3。
我有一个使用 Ajax.BeginForm 创建的表单,其中有一个 DropDown。我有一个 onchange=this.form.onsubmit 处理程序,用于在值更改时提交表单。
问题是当我更改下拉列表时,我的浏览器控制台显示消息“未捕获的类型错误:对象 # 的属性 'onsubmit' 不是函数”。
如果我将处理程序更改为 this.form.submit() 它会提交表单但没有 ajax。
我引用了 jquery、jquery-unobtrusive-ajax 和 MS Ajax js 文件,但没有成功。
如果我禁用 UnobtrusiveJS,它可以正常工作。
有什么想法吗?
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
查看:
@using (Ajax.BeginForm("AddToGroup", new AjaxOptions() { UpdateTargetId = "statusText" }))
{
@Html.Hidden("username", @friendProfile.Username)
@Html.DropDownList("groupId", @Model.UserGroups, "Add to group...", new { @onchange = "this.form.onsubmit()" })
<input type="submit" value="Submit" />
<span id="statusText"></span>
}
【问题讨论】: