Jquery 正在发送表单。验证()
模态中有一个表格,在点击“СССАССССССССССССЯЯССЯЯЯСССССССС 模式实现如下Jquery 正在发送表单。验证(),jquery,jquery-validate,Jquery,Jquery Validate,模态中有一个表格,在点击“СССАССССССССССССЯЯССЯЯЯСССССССС 模式实现如下 var modal = { self: $(".modal"), showModal: function(content) { this.self.find("#innerModal").html(content); this.self.fadeIn(500); }, hi
var modal = {
self: $(".modal"),
showModal: function(content) {
this.self.find("#innerModal").html(content);
this.self.fadeIn(500);
},
hideModal: function() {
this.self.fadeOut(200);
this.self.find("#innerModal").html("");
}
};
//show modal
$(".js_popUp").on("click", function(e) {
e.preventDefault();
var _popUp = $(this).data("popup");
var content = $('.js-popUp' + _popUp).html();
modal.showModal(content);
});
//hide modal
modal.self.on("click", function(e) {
if (
$(e.target).attr("id") === "modal" ||
$(e.target).hasClass("js-closePopup")
) {
e.preventDefault();
modal.hideModal();
} else {
return false;
}
});
<div id="modal" class="modal">
<div class="modal__wrap">
<div id="innerModal"></div>
</div>
</div>
问题仍然是表单没有发送。通过单击发送表单,警报不会显示。什么都不管用。
但与此同时,验证工作也在进行
谢谢大家! 问题是模态的。
关闭时,它会中断该功能
modal.self.on("click", function(e) {
if (
$(e.target).attr("id") === "modal" ||
$(e.target).hasClass("js-closePopup")
) {
e.preventDefault();
modal.hideModal();
} else {
return false;
}
});
删除其他
else {
return false;
}
这一切都成功了)引用作品:
“单击第一个输入后初始化。”
您刚刚解释了问题的根本原因。您不正确地使用单击处理程序来初始化验证插件,而不是在页面加载时立即初始化
您正在对模态窗体的单击处理程序中的模态初始化.validate()
。相反,当创建或显示此表单时,您应该在模态的表单上初始化.validate()
。加载页面时,您的表单似乎存在,因此您应该在此表单上调用.validate()
modal.self.on("click", function(e) {
if (
$(e.target).attr("id") === "modal" ||
$(e.target).hasClass("js-closePopup")
) {
e.preventDefault();
modal.hideModal();
} else {
return false;
}
});
else {
return false;
}