1

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;
      });
4

1 に答える 1