我无法弄清楚如何合并以下单独的代码:
$(document).ready(function () {
$("#signupForm").validate();
});
和
$(document).ready(function () {
$("#btnSignup").click(function () {
$.ajax({
type: "POST",
dataType: 'json',
url: "/Newsletter/Signup",
data: $('#signupForm').serialize(),
success: function (response) {
if (response.success) {
$('#signupMessage').show(0);
}
else {
showValidationErrors(response.Data);
}
}
});
return false;
});
我需要先执行第一部分,如果它成功验证了表单,那么我需要执行第二部分。
答案 0 :(得分:1)
我相信您可以使用valid()。
伪代码;
$(document).ready(function () {
$("#signupForm").validate();
$("#btnSignup").click(function () {
if ($("#signupForm").valid()) {
// ajax query
}
return false;
});
});
这有用吗?我还没检查过。
答案 1 :(得分:0)
这是我使用的一种通用方式。
$('form').submit(function(e){
if (!$(e.target) && !$(e.target).valid()) {
return;
}
// Ajax call here.
$.ajax({ type: "POST",... });
});
最后,您可以将逻辑抽象为对象以获得更多OOP方法
var formHandler = {
onSubmit: function(e){
if (!$(e.target) && !$(e.target).valid()) {
return;
}
// Ajax call here.
$.ajax({ type: "POST",... });
}
}
$('form').submit(formHandler.onSubmit);