Ненавязчивый javascript: форма, не отправляющая onsubmit () - PullRequest
2 голосов
/ 25 июня 2011

Я использую MVC 3 с включенной UnobtrusiveJS.

У меня есть форма, созданная с помощью Ajax.BeginForm с DropDown там.У меня есть обработчик onchange = this.form.onsubmit для отправки формы при изменении значения.

Проблема заключается в том, что в консоли браузера отображается сообщение «Uncaught TypeError: Свойство« onsubmit »объекта # не являетсяфункция "когда я изменяю выпадающий список.

Если я меняю обработчик на this.form.submit (), он отправляет форму отлично, но без ajax.

Я ссылался на jquery, jquery-unobtrusive-ajax и js-файлы MS Ajax, но безуспешно.

Если я отключу 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>
                }

1 Ответ

0 голосов
/ 25 июня 2011

Это должно быть просто this.form.submit() для обработчика "изменения".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...