【发布时间】:2014-10-18 06:45:13
【问题描述】:
我正在尝试在 mvc razor 中使用 ajax post 发布我的表单。我正在尝试在发布到数据库之前验证表单。但是即使表单是有效的,它也会阻止表单发布。
$(function () {
$('#MyForm').submit(function () {
if ($('#MyForm').valid()) {
//$("#divLoading").show();
$.ajax({
type: "POST",
url: '@Url.Action("Something", "Something")',
data: $('#MyForm').serialize(),
dataType: 'json',
error: function (xhr) {
$("#Message").text(xhr.statusText);
$('#divLoading').hide('fast');
},
success: function (result) {
//$('#divLoading').hide('fast');
if (result.IsSuccess) {
$("#Message").html(result.Message);
$('#MyForm')[0].reset();
}
}
});
}
});
});
开始表单包含
@using (Ajax.BeginForm("Something", "Something", new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "POST" }, new { @id = "MyForm" }))
{
}
提前致谢
【问题讨论】:
-
为什么会有 ProviderForm 和 MyForm?
-
尝试在
if语句之前调用$(this).validate(); -
我认为你应该改变你的方法。首先尝试检查表单是否有效,然后在它有效之后提交它,我认为没有理由做你想做的事情。如果它无效,任何地方的表单都不会提交
标签: jquery asp.net-mvc-5 razor-2 jquery-post