Отправка Ajax.Beginform при использовании плагина JQuery Validate не останавливает отправку. Есть ли хороший способ гарантировать, что Ajax.Beginform не отправлен?jquery validate & ajax.beginform
Я также пробовал использовать плагин JQuery Forms для 'ajaxify' моей формы. Это работает. Однако моя форма - это форма входа в систему, и если пользователь успешно войдет в систему, я бы хотел, чтобы они были перенаправлены. Я сделал это в Ajax.BeginForm, вернув объект JavaScript, но тот же код с использованием JQuery.Form.js просто отображает Javascript, а не выполняет его. Есть ли способ справиться с этим?
[в соответствии с просьбой ниже, я добавил некоторые примеры кода]
Controller Код
if (Request.IsAjaxRequest())
{
return Content("/receipt/latest");
}
else
{
return RedirectToAction("latest", "receipt");
}
я использовал это, чтобы вернуть строку в этой Js функции: -
JS
function manageResponse(responseText, statusText) {
if (responseText.toString().substr(0, 1) == '/') {
window.location = responseText;
}
else {
$("#formResult").text(responseText);
}
}
Я использовал эти параметры, чтобы связать ответ с плагином JQuery Form.
var options = {
beforeSubmit: function() {
return $('#login').validate().form();
},
success: manageResponse
};
Это чувствует себя немного «взломанным» для меня, но оно работает. Я спрашивал, есть ли лучший способ или нет?
Роб
Это может быть решение –