JQuery 在按钮单击时显示上一条消息

保罗·汤普森

我曾尝试编写一些 jQuery,一旦单击按钮,它就会轮询服务器,一旦操作完成,它就会在网页上显示消息。

这部分按预期工作,一旦点击按钮,就会出现微调器,投票显示显示发送的电子邮件数量。发送完所有电子邮件后,它会显示正确的消息,显示已发送的电子邮件数量以及发送失败的电子邮件数量。

问题是,如果我然后再次单击该按钮,即使轮询正在运行并且不会消失,也会出现上一条消息,并且微调器也不会出现。

任何人都可以帮助解决这个问题

因为我不知道为什么会发生

$(document).ready(function () {
    $("#spinner").hide();
    function doPoll() {
        $("#progressSend").html("");
        $("#progressSend").empty();
        $("#spinner").show();
        $.post("/pathtopolling", function (data) {
            if (data.startsWith("Completed")) {
                $("#progressSend").html("");
                $("#progressSend").html("<p class=\"text-info\">" + data + "1</p>");
                $("#spinner").hide();
                clearTimeout(doPoll);
            }
            else if (data.startsWith("Unable")) {
                $("#progressSend").html("");
                $("#progressSend").html("<p class=\"text-info\">" + data + "2</p>");
                $("#spinner").hide();
                clearTimeout(doPoll);
            }
            else {
                $("#progressSend").html("");
                $("#progressSend").html("<p class=\"text-info\">" + data + "3</p>");
                setTimeout(doPoll, 500);
            }

        });

    }
    var form = $("#frmSendMailingList");
    $(form).on("click", function (event) {
        $("#spinner").show();
        $("#progressSend").html("");
        $("#progressSend").empty();
        doPoll();
        event.preventDefault();
        jQuery.ajax({
            type: "POST",
            url: $(form).attr("action"),
            data: $(form).serialize(),
            dataType: "json",
            cache: false,
            async: true,
            processData: false,
            success: function(result) {
                $("#spinner").hide();
                $("#progressSend").html("<p class=\"text-info\">" + result + "4</p>");
                clearTimeout(doPoll);
            },
            error: function(err) {
                $("#spinner").hide();
                clearTimeout(doPoll);
            }
        });
    });

            $("#btnMailingListReset").click(function () {
                location.reload(true);
                clearTimeout(doPoll);
            });
}).
游戏标签

像@SahilSharma 一样,您应该将此事件附加到button. 但是,您的问题很正常,因为每次单击时都会触发回调。

你必须在开始时声明一个布尔值 false ,如果点击被触发并且这个布尔值是 false :将它设置为 true。并在 ajax 完成后将其设置回 false。

// the boolean
var clicked = false;

$('#btnSendMailingList').on("click", function (event) {
  if(!clicked){
    clicked = true;
    $("#spinner").show();
    $("#progressSend").html("");
    $("#progressSend").empty();
    doPoll();
    event.preventDefault();
    jQuery.ajax({
        type: "POST",
        url: $(form).attr("action"),
        data: $(form).serialize(),
        dataType: "json",
        cache: false,
        async: true,
        processData: false,
        success: function(result) {
            $("#spinner").hide();
            $("#progressSend").html("<p class=\"text-info\">" + result + "4</p>");
            clearTimeout(doPoll);
        },
        error: function(err) {
            $("#spinner").hide();
            clearTimeout(doPoll);
        },
        complete: function(){
          clicked = false;
        }
     }
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery Validation&Tooltipter一次显示一条验证消息

来自分类Dev

在按钮单击jquery上隐藏/显示div

来自分类Dev

div在按钮上单击显示在jQuery中

来自分类Dev

jQuery聊天框-在DIV底部向上显示第一条消息

来自分类Dev

Safari:使用Jquery打开下一条警报消息时,警报消息未关闭?

来自分类Dev

单击按钮jquery时显示更多div

来自分类Dev

jQuery附加在按钮上单击显示文本然后消失

来自分类Dev

Bootstrap jQuery Modal在按钮单击时未加载

来自分类Dev

使用Jquery在按钮单击上显示模态

来自分类Dev

使用Jquery在按钮单击上隐藏/显示Div

来自分类Dev

jQuery-在按钮外单击时保持对按钮的关注

来自分类Dev

Qt:单击按钮=> haskell程序中应显示一条消息

来自分类Dev

在按钮单击jquery上显示非唯一的div类

来自分类Dev

jQuery在按钮按下时循环显示图像

来自分类Dev

jQuery在按钮上单击不起作用

来自分类Dev

在按钮上添加数字单击使用jQuery吗?

来自分类Dev

jQuery聊天框-在DIV底部向上显示第一条消息

来自分类Dev

Safari:使用Jquery打开下一条警报消息时,警报消息未关闭?

来自分类Dev

在加载页面时,应在jQuery Mobile的弹出窗口中打开一条消息

来自分类Dev

jQuery工具提示不会显示在按钮上

来自分类Dev

jQuery附加在按钮上单击显示文本然后消失

来自分类Dev

jQuery仅显示最后一条评论

来自分类Dev

使用jquery ajax在按钮单击上的POST表单

来自分类Dev

jQuery Mobile在按钮单击事件上显示本机选择菜单

来自分类Dev

jQuery:悬停并单击时,在按钮上切换具有相同特性的类

来自分类Dev

jQuery:在禁用的按钮单击/悬停时显示消息

来自分类Dev

通过 Javascript / jQuery 在按钮单击时显示 Bootstrap 警报

来自分类Dev

Jquery 在按钮单击时展开隐藏的表格行

来自分类Dev

使用 jquery 在按钮单击时复制表或 div 内容

Related 相关文章

  1. 1

    jQuery Validation&Tooltipter一次显示一条验证消息

  2. 2

    在按钮单击jquery上隐藏/显示div

  3. 3

    div在按钮上单击显示在jQuery中

  4. 4

    jQuery聊天框-在DIV底部向上显示第一条消息

  5. 5

    Safari:使用Jquery打开下一条警报消息时,警报消息未关闭?

  6. 6

    单击按钮jquery时显示更多div

  7. 7

    jQuery附加在按钮上单击显示文本然后消失

  8. 8

    Bootstrap jQuery Modal在按钮单击时未加载

  9. 9

    使用Jquery在按钮单击上显示模态

  10. 10

    使用Jquery在按钮单击上隐藏/显示Div

  11. 11

    jQuery-在按钮外单击时保持对按钮的关注

  12. 12

    Qt:单击按钮=> haskell程序中应显示一条消息

  13. 13

    在按钮单击jquery上显示非唯一的div类

  14. 14

    jQuery在按钮按下时循环显示图像

  15. 15

    jQuery在按钮上单击不起作用

  16. 16

    在按钮上添加数字单击使用jQuery吗?

  17. 17

    jQuery聊天框-在DIV底部向上显示第一条消息

  18. 18

    Safari:使用Jquery打开下一条警报消息时,警报消息未关闭?

  19. 19

    在加载页面时,应在jQuery Mobile的弹出窗口中打开一条消息

  20. 20

    jQuery工具提示不会显示在按钮上

  21. 21

    jQuery附加在按钮上单击显示文本然后消失

  22. 22

    jQuery仅显示最后一条评论

  23. 23

    使用jquery ajax在按钮单击上的POST表单

  24. 24

    jQuery Mobile在按钮单击事件上显示本机选择菜单

  25. 25

    jQuery:悬停并单击时,在按钮上切换具有相同特性的类

  26. 26

    jQuery:在禁用的按钮单击/悬停时显示消息

  27. 27

    通过 Javascript / jQuery 在按钮单击时显示 Bootstrap 警报

  28. 28

    Jquery 在按钮单击时展开隐藏的表格行

  29. 29

    使用 jquery 在按钮单击时复制表或 div 内容

热门标签

归档