javascript - ajax运行时如何禁用点击功能,同一个点击启动ajax运行,ajax完成后,重新启用点击功能

标签 javascript jquery ajax button click

我有一个点击功能启动 ajax post 运行,如何在 ajax 运行时禁用相同的点击功能,并在 ajax 完成后重新启用它?下面的代码显示了我想要的:

    $('input.btn_search').click(function () {
    var val_f_name = $('input.input_first').val();
    var val_l_name = $('input.input_last').val();
    var val_country = $('select.country').val();
    var val_state = $('.select.state').val();

    $('.popup_search_distor').css('height', '400px');
    $('img.ajax_loader').css('display','block');
    var xhr =  $.ajax({
        type: "POST",
        url: $.vp + "signup/distLookup.ashx" + "?first=" + val_f_name + "&last=" + val_l_name + "&country=" + val_country + "&language=" + $.langID,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            $('img.ajax_loader').css('display','none');
            $('table.table_data').slideDown(600);
            console.log(data);
            $.each(data, function (k, v) {
                $('td.name').append(v.FirstName);

           });
        }
    });

最佳答案

$('input.btn_search').click(function () {
    var val_f_name = $('input.input_first').val();
    var val_l_name = $('input.input_last').val();
    var val_country = $('select.country').val();
    var val_state = $('.select.state').val();

    $('.popup_search_distor').css('height', '400px');
    $('img.ajax_loader').css('display','block');

    var that = $(this); //to reference the button easier
    that.attr('disabled',true); //disables the button

    var xhr =  $.ajax({
        type: "POST",
        url: $.vp + "signup/distLookup.ashx" + "?first=" + val_f_name + "&last=" + val_l_name + "&country=" + val_country + "&language=" + $.langID,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            $('img.ajax_loader').css('display','none');
            $('table.table_data').slideDown(600);
            console.log(data);
            $.each(data, function (k, v) {
                $('td.name').append(v.FirstName);

           });

           that.attr('disabled',false); //enables the button the button

        }
    });

关于javascript - ajax运行时如何禁用点击功能,同一个点击启动ajax运行,ajax完成后,重新启用点击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25490978/

相关文章:

javascript - 悬停时显示现有的 div

Javascript 函数未调用 onclick

javascript - 在ajax调用中返回两个对象

html - 当浏览器的宽度 >= 768px 时,折叠的输入栏更窄

javascript - 修复javascript中的变量增量

javascript - Select2.js v4.0 : How transmit filter text to ajax source data?

javascript - D3 可缩放旭日不缩放(数据来自 R)

javascript - 在 div 的 slideUp() 事件上切换类

jquery - 使用 jQuery 查找具有特定 CSS 样式的 DIV

jquery - 通过 jquery ajax 提交传递复选框