UPDATE: Я создал новый проект MVC 3 с Razor HTML 5, затем я обновил проект с помощью NuGet в JQuery 1.6, и плагин проверки не работает больше, он делает сообщение каждый раз и возвращает сообщение об ошибке из сервер. Я думаю, что плагин проверки не работает с JQuery 1.6
У меня есть приложение MVC 3, которое использует диалоговое окно JQuery UI (загруженное из частичного представления, которое содержит форму), чтобы отправить информацию на ajax на сервер. Я хочу инициировать проверку моей формы на стороне клиента, прежде чем я сделаю сообщение ajax. В Firefox и IE9 отлично работает, в IE7 и IE8 form.validate() всегда возвращает true.
Вот код js, прикрепленный к моей кнопке отправки:
var wizard = $("#wizard"); //div that holds the modal dialog
var myform = $("#wizard form");
var submitFunction = function (e) {
e.preventDefault(); //no postback
myform.validate();
if (myform.valid()) {
$(this).attr("disabled", "disabled");
submited = true;
$.post(
"SuperAdmin/CreateEditController",
$(this).serialize(),
function (data) {
if (data.Success) {
wizard.dialog('destroy');
}
else {
wizard.html(data.Html);
}
},
"json"
); //end json post
}
};
myform.submit(submitFunction);
Я использую следующее:
<script src="@Url.Content("~/Scripts/jquery-1.6.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
Плагин JQuery Validation был обновлен с помощью NuGet версии 1.8.0 и библиотеки JQuery до версии 1.6.
Обновление: Я протестировал код, созданный с помощью шаблона по умолчанию для лесов, и он делает то же самое, без проверки на стороне клиента. Возможно, JQuery 1.6 не совместим с шаблоном леса Razor??