我有一个使用数据注释验证的MVC应用程序。我也在按钮上提交了一些手动jQuery验证。我希望提交按钮在我的jQuery验证通过时隐藏,并且框架实现的不显眼验证通过。
这是我的代码:
$('#btnSubmit').click(function () {
if (!$('#Terms').is(':checked')) {
$('.termsLabel').animate({ color: "#c71040" }, 'slow');
$('.termsLabel a').animate({ color: "#c71040" }, 'slow');
return false;
}
if ($('.wordCount').hasClass('error')) {
$('.caption label').animate({ color: "#c71040" }, 'slow');
return false;
}
if ($(form).valid()) {
$('#btnSubmit').hide();
$('#submitting').show();
}
});
即使表单发布,(form).valid()方法似乎总是返回false(并且永远不会执行hide / show)。
我这样做的原因是我允许用户上传图片,我不希望用户能够多次点击。
任何帮助 - 赞赏。
答案 0 :(得分:1)
我会回答我自己的问题。
在表格上:
@using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new { @ID = "MyForm" }))
然后:
$('#MyForm').validate();
if ($('#MyForm').valid()) {
$('#btnSubmit').hide();
$('#submitting').show();
}
问题是我没有给我的表单命名,也没有调用.validate()