我有一个非常奇怪的问题,我正在使用 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;
});
出于某种原因,虽然弹出显示一秒钟然后表单提交......它似乎没有等待我的超时。
另一个更新
我现在已经设法让这个工作了,任何有同样问题的人都需要使用 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;
});