Это должно быть довольно просто, но я попробовал несколько вещей без удачи.
У меня есть серия Html.TextBoxFor
полей на странице, каждое внутри своих Ajax.BeginRouteForm
.Рядом с каждым полем у меня есть кнопка отправки, и при щелчке по ней выполняется обновление Ajax по желанию.
Я бы хотел автоматизировать это так, чтобы, когда пользователь изменял значение в поле (onchange
событие) форма отправляется так же, как в настоящее время используется кнопка отправки.
Я попытался использовать атрибуты htmlattributes, чтобы назначить функцию JavaScript для события onchange
(как показано ниже), и это приводит к отправке формы, но она перенаправляет страницу вместо того, чтобы работать в режиме Ajax (в отличие отчтобы нажать кнопку отправки, которая работает правильно).
@(Html.TextBoxFor(model => answer.Value, new { onchange = "document.forms[" + answer.AnswerID + "].submit()" }));
(к счастью, мой answer.AnswerID
является числовым и соответствует числовой позиции соответствующей формы в коллекции форм; я ссылался на них по имени, ноRazor (или что-то еще) htmlencoding моего кода JavaScript ...)
Мое единственное предположение, что я что-то ломаю, прикрепляя код непосредственно к событию onchange
, но я в растерянности относительно«правильный» способ подключиться к этой цепочке событий.