有效表格的基础

时间:2017-03-29 11:08:02

标签: jquery zurb-foundation abide

我有一个非常奇怪的问题,因为我使用了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;
  });

出于某种原因,虽然pop显示了一秒钟,然后表单提交......它似乎没有等待我的超时。

另一个更新

我现在设法让这项工作得以实现,其他任何人都需要使用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;
      });

1 个答案:

答案 0 :(得分:0)

self.data.topics = [];
var commentCount = Object.create(null);

res.forEach(function(obj){
    self.data.topics.push(obj[0].attributes);
});

res[1].forEach(function (el, i) {
    commentCount[el.attributes.post_id] = (commentCount[el.attributes.post_id] || 0) + 1;
});
console.log('commentCount ', commentCount);

DataMixin.data.topics = self.data.topics;