我正在寻找为什么我的表单没有提交该代码:
$("#my_form").on('submit', function(e) {
if (!myCondition) {
if (anotherCondition === true) {
e.preventDefault();
$('#modal').modal('show');
$("#btn_valid").on('click', function(e) {
return true;
});
}
}
return true;
});
modale
(DOM中存在的人)正在显示,但如果我点击#btn_valid
表单未提交且模式停留在屏幕上。
如果我删除了e.preventDefault
,则该过程不会停止,这意味着该模式正在显示,并且在表单提交后不按下该模式上的按钮。
我做错了什么?
感谢。
答案 0 :(得分:1)
试试这个:
$(function() {
var submitForm = false;
$('#my_form').submit(function(e) {
if (!submitForm) {
e.preventDefault();
$('#modal').modal('show');
}
});
$("#btn_valid").on('click', function(e) {
submitForm = true;
$('#my_form').submit();
});
});
您将看到,一旦您单击模式中的按钮,它将submitForm
设置为true,当您输入表单提交回调处理程序时,您将通过if语句,最后像往常一样提交表单。< / p>