Привет, я создаю форму предварительного поиска, где Ajax.Beginform вызывается из jquery с событием .submit(), Ajax.Beginform возвращает partialView и обновляет div на странице , Теперь, когда я нажимаю кнопку поиска в первый раз, все работает нормально, и страница обновляется правильно, но когда я пытаюсь снова нажать ее, форма никогда не отправляется, и действие контроллера никогда не вызывается. Когда я проверил поджигатель я нашел эту ошибку, показывая в консоли каждый раз, когда я нажмите кнопку поиска:Ajax.Beginform отправляет только один раз mvc
TypeError: $.validator.methods[method] is undefined
result = $.validator.methods[ method ].call(this, val, element, rule.parameters...
И это мой код:
Аякса beginfirm из Вида:
@using (Ajax.BeginForm("AdvancedSearch", null, new AjaxOptions { UpdateTargetId = "searchResults", InsertionMode = InsertionMode.Replace }, new { id = "advancedSearchForm"}))
функция JQuery:
function submitAdvancedSearch() {
if ($("#Name").val().trim() == "" && $("#LastName").val().trim() == "" && $("#Company").val().trim() == "") {
$("#resultError").text("Enter at least one search criteria");
}
else {
$("#resultError").text("");
$("#advancedSearchForm").submit();
$("#advancedClientsSearch").prop("hidden", false);
}
}
И это кнопка:
<input type="button" value="Search" class="btn btn-primary" onclick="submitAdvancedSearch()" />
Это узелок пакеты:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.unobtrusive-ajax.js",
"~/Scripts/DataTables/jquery.dataTables.js",
"~/Scripts/DataTables/jquery.dataTables.min.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.validate.unobtrusive.js",
"~/Scripts/jquery.validate*"));
NB: я использую MVC5 и JQuery JavaScript библиотеки v2.1.3
Если вы используете 'Ajax.BeginForm()', то в чем смысл скрипта? Сделайте кнопку 'type =" submit "и удалите свой скрипт. –
Нет, этот код усечен. Я делаю некоторые проверки полей перед отправкой формы. –
Затем покажите свой реальный код. –