我正在使用ASP.NET MVC。我的驗證效果很好,直到我將一個事件附加到表單的onSubmit事件。Jquery執行onSubmit事件後不顯眼驗證丟失
這是我的表單外觀:
@using (Html.BeginForm("Recover", "Auth", FormMethod.Post, new { Id = "RecForm", onSubmit = "return Events.Submit(this,event)" }))
{
@Html.TextBoxFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
<input type="submit" value="Recover" />
}
JavaScript的(正常工作,只是把它放在這裏,所以你可以檢查東西,這是導致驗證不火):
//Events
window.Events = (function() {
// Baseline setup
var Events = {};
function disableAllChildren(el) {
$(el).find(':input').attr('disabled', true);
}
function enableAllChildren(el) {
$(el).find(':input').attr('disabled', false);
}
//Ajax submit
Events.Submit = function (el, event) {
event.preventDefault();
//serialize the form before disabling the elements.
var data = $(el).serialize();
disableAllChildren(el);
$(el).find('.success, .error').hide();
$.ajax({
url: el.action,
type: 'POST',
data: data,
success: function (data) {
//Stuff happens.
}
});
};
return Events;
})(this, this.document);
如何取回我的驗證?
不'Events.Submit'完全覆蓋提交處理程序,以ASP.NET圈外的? – bzlm