在表单提交之前做一些事情

Do something before form submit

尝试查找此内容,找到了一些答案,但它们对我不起作用。我有一个正在验证的表单,我希望在提交之前淡入淡出。

$('#btnConfirm').click(validateForm);

function validateForm(){
//...validation....
else{
  $('#ConfirmGiftCard').submit(function(){
    $('#ThankYou').fadeIn(1000).delay(1000).fadeOut(1000);
    setTimeout(function(){
    return true;
       }, 2000)
  });
 }

ConfirmGiftCard 是我的表单名称。 btnConfirm是里面的提交按钮。

我的解决方案是:在回调时消息消失后​​提交表单。

$('#ThankYou').fadeIn(1000).delay(1000).fadeOut(1000, function() {
  $('#ConfirmGiftCard').submit();
});

http://api.jquery.com/fadeout/作为第二个参数完成函数

  1. 确保您的按钮不是提交按钮,这样它不会在点击后立即提交表单。将其设为普通按钮(<input type="button" /><button type="button"></button>)。

  2. 点击按钮,做你需要的 Validation / fadeIn / fadeOut 并通过 javascript [=16] 提交表格=] 在需要时发挥作用。

$('#btnConfirm').click(validateForm);

function validateForm(){
//...validation....
   else {
      $('#ThankYou').fadeIn(1000).delay(1000).fadeOut(1000,function(){
          document.getElementById('ConfirmGiftCard').submit();
          //$('#ConfirmGiftCard').submit(); //This also should work, but I prefer native JS submit function because its more reliable.
          //$('#ConfirmGiftCard')[0].submit(); //Or even this works, which calls the same native JS method I used above (first one).
      });
}