abide Foundation 検証プラグインを使用しているという点で、非常に奇妙な問題があり、すべて問題ないようです。ポップメッセージを表示できますが、フォームは実際には送信されません...ページ。
誰かが私が間違っていることを見ることができますか:
$(document)
// to prevent form from submitting upon successful validation
.on("submit", function(ev,frm) {
ev.preventDefault();
$.blockUI({
message: $('#message'),
css: { top: '20%', width: '80%', height: '50%', left: '10%', border: 'none', background: 'none' }
});
setTimeout(function () {
$.unblockUI();
return true;
}, 17000); // in milliseconds
});
これに関してどんな助けも素晴らしいでしょう、それは私にストレスを与えています。
アップデート
もう少し先だ
$(".form")
.on('invalid', function () {
var invalid_fields = $(this).find('[data-invalid]');
console.log(invalid_fields);
})
.on('valid', function () {
$.blockUI({
message: $('#message'),
css: { top: '20%', width: '80%', height: '50%', left: '10%', border: 'none', background: 'none' }
});
setTimeout(function () {
$.unblockUI();
}, 17000); // in milliseconds
return false;
$(".form").submit();
})
.on('submit', function(){
return true;
});
何らかの理由で、ポップが 1 秒間表示されてからフォームが送信されますが、タイムアウトを待っているようには見えません。
別の更新
私は今、これを機能させることができました。同じ問題を抱えている他の人は、BlockUi 内のオプションを使用して生の DOM フォームを送信する必要があります。
$(".form")
.on('invalid', function () {
var invalid_fields = $(this).find('[data-invalid]');
console.log(invalid_fields);
})
.on('valid', function () {
var theForm = this;
$.blockUI({
message: $('#message'),
css: { top: '20%', width: '80%', height: '50%', left: '10%', border: 'none', background: 'none' },
timeout: 17000,
onUnblock: function() { theForm.submit(); }
});
return false;
})
.on('submit', function(){
return false;
});