You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:提交请求后立即关闭模态框或点击后禁用按钮的实现方法

解决Ajax请求后立即关闭模态框或禁用按钮的问题

你现在的代码里,模态框只有在Ajax请求成功时才会关闭,要实现点击按钮后立即关闭模态框,或者立即禁用按钮,我给你两个实用的方案:

方案一:点击按钮后立即关闭模态框

只需要把关闭模态框的代码从success回调里移出来,放到按钮点击事件的最开头就行——这样不管Ajax请求成功还是失败,模态框都会立刻关闭。修改后的代码如下:

$('button#rejectWithdraw').click(function(e) {
    // 立即关闭模态框
    $('#modelContent').modal('toggle');
    
    $.ajax({
        url: $('#rejectUrl').val(),
        type: "POST",
        data: {data:text},
        success: function (data) {
            // 这里可以加请求成功后的额外逻辑,比如提示用户操作成功
            // alert("拒绝提现成功");
        },
        error: function (err) {
            // 请求失败的处理,比如提示用户出错了
            // alert("操作失败,请稍后重试");
        }
    });
});

方案二:点击按钮后立即禁用它(防止重复提交)

如果不想立刻关模态框,而是想先禁用按钮避免用户重复点击,可以在点击事件开头先禁用按钮,然后根据请求结果决定是否保持禁用或者恢复:

$('button#rejectWithdraw').click(function(e) {
    const $btn = $(this);
    // 立即禁用按钮
    $btn.prop('disabled', true);
    // 可以顺便修改按钮文字提示用户正在处理
    $btn.text('处理中...');
    
    $.ajax({
        url: $('#rejectUrl').val(),
        type: "POST",
        data: {data:text},
        success: function (data) {
            $('#modelContent').modal('toggle');
            // 请求成功后可以保持禁用,或者根据需求恢复
            // $btn.prop('disabled', false);
            // $btn.text('拒绝提现');
        },
        error: function (err) {
            // 请求失败后恢复按钮,让用户可以重试
            $btn.prop('disabled', false);
            $btn.text('拒绝提现');
            // alert("操作失败,请稍后重试");
        }
    });
});

这样两种方案都能满足你的需求,你可以根据实际业务场景选择~

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:58:28