送信ボタンをクリックしてフォームを送信しようとしていますが、これはデフォルトアクションでは禁止されています。ブートストラップバリデーターは、フォームを2回目のクリックで起動するようにします。
これは私のコードです:
$('#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');
}
})
フォームが最初のクリックで検証されており、提出していない、し、2回目のクリックで火災を提出します!
イベントは2回聞かれますか?どの線でそれが壊れますか、あなたはそこまで行くことができますか? – gauravmuk
このコードには改行はありません。フォームが検証された後の最初のクリックで提出しないことを除いて、すべてが問題ありません – Afshin
これを確認するためにフィドルを作成できますか?フォームが提出していないと言っている場合は、複数の理由がある可能性があります。 '$ form.bootstrapValidator( 'validate')'がフォームのhtmlを見ずに何をするのか分からない – gauravmuk