【发布时间】:2017-06-16 16:10:57
【问题描述】:
我正在尝试通过单击提交按钮提交表单,该按钮被阻止执行其默认操作并尝试首先检查条件。
这是我的代码:
$('#payment-form').bootstrapValidator({
live: 'disabled',
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
cardNumber: {
validators: {
notEmpty: {
message: $('#cardNumber').attr('data-error-required')
}
}
}
}
});
$('#paymentSubmit').on('click', function (e) {
e.preventDefault();
var $form = $('#payment-form');
if(basket.length >= 1 || basketTotalPrice > 0){
$form.bootstrapValidator('validate');
if ($form.bootstrapValidator('isValid')) {
$form.submit();
}
}
else {
console.log('basket empty');
}
})
表单在第一次点击时被验证并且没有提交,并且在第二次点击时提交触发!
【问题讨论】:
-
事件被监听了两次?它在哪条线断了,你能到达那里吗?
-
这段代码没有中断。一切都很好,只是表单在验证后第一次点击时没有提交
-
你能创建一个小提琴来检查这个吗?因为如果您说表单未提交,则可能有多种原因。不看表单的 html 就无法判断
$form.bootstrapValidator('validate')会做什么
标签: javascript jquery forms twitter-bootstrap bootstrapvalidator