悬停2秒后提交表格

时间:2013-06-06 06:14:51

标签: javascript jquery form-submit

我试图找出如何设置时间,当用户将鼠标悬停在提交按钮上时,表单将提交(2秒)。

$(document).ready(function(){
  $("#submit95").hover(function(){
    var form95 = $("#form_sub_category_id95");
    $("#form_sub_category_id95").ajaxSubmit({
      target: "#output110",
      data: form95.serialize(),
      success: function (data) {
        $("#product_default110").hide();
        $("#output110").html(data);
      }
    });
  });
});

5 个答案:

答案 0 :(得分:2)

$(document).ready(function(){
    $("#submit95").hover(function(){ 
        timer = setTimeout(function(){
        var form95 = $("#form_sub_category_id95");
        $("#form_sub_category_id95").ajaxSubmit( {
           target: "#output110", 
           data: form95.serialize(),
           success: function (data) {
                    $("#product_default110").hide();
                    $("#output110").html(data);     
                }
        });
        },2000);
    },function(){
        clearTimeout(timer); //when mouseout stop 
    });
});

答案 1 :(得分:1)

您可以使用setTimeOut()

  

setTimeout()方法在指定的毫秒数后调用函数或计算表达式。

将此代码写入另一个函数

function callAfterSomeTime() {
  var form95 = $("#form_sub_category_id95");
  $("#form_sub_category_id95").ajaxSubmit({
    target: "#output110",
    data: form95.serialize(),
    success: function (data) {
      $("#product_default110").hide();
      $("#output110").html(data);
    }
  });
}

答案 2 :(得分:1)

试试这个

$(document).ready(function(){
        $("#submit95").hover(function(){ 
            setTimeout(function(){
            var form95 = $("#form_sub_category_id95");
            $("#form_sub_category_id95").ajaxSubmit( {
               target: "#output110", 
               data: form95.serialize(),
               success: function (data) {
                        $("#product_default110").hide();
                        $("#output110").html(data);     
                    }
            });
            },2000);
        });
    });

答案 3 :(得分:0)

做类似的事情:

$(document).ready(function() {
  $("#submit95").hover(function() {
    setTimeout(doSubmit, 2000);
  }
);

function doSubmit() {
  var form95 = $("#form_sub_category_id95");
  $("#form_sub_category_id95").ajaxSubmit( {
     target: "#output110", 
     data: form95.serialize(),
     success: function (data) {
              $("#product_default110").hide();
              $("#output110").html(data);     
          }
     });
  });
}

答案 4 :(得分:0)

延迟提交超时并在mouseleave上取消:

$('form').hover(function(){
     $(this).data('t', setTimeout(submitFn, 2000));
}, function(){
     clearTimeout($(this).data('t'));
});