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

点击button1执行myfunction期间禁用button2功能实现异常求助

问题根因

  • google.script.run 属于异步执行接口,触发服务端函数调用后不会等待执行完成,就会立刻运行后续代码
  • 原有代码存在逻辑写反问题:误将button1设置为禁用,button2直接设置为启用,和需求完全不符
  • 原有代码存在语法错误,多写了多余的闭合括号

修正后代码

$(document).ready(function(){
    $("#button1").click(function(){
        // 点击button1后立刻禁用button2,避免用户误触发
        $('#button2').prop("disabled", true);

        // 绑定执行回调,等待myfunction执行结束后再修改按钮状态
        google.script.run
          // 函数执行成功的回调
          .withSuccessHandler(() => {
            $('#button2').prop("disabled", false);
          })
          // 函数执行失败的回调,避免报错后button2一直被锁定
          .withFailureHandler((err) => {
            console.error('函数执行失败:', err);
            $('#button2').prop("disabled", false);
          })
          .myfunction();
    });
});

补充说明

推荐使用jQuery的prop()方法修改disabled这类布尔属性,比attr()兼容性更好,状态更新更稳定;失败回调可以根据业务需求补充错误提示逻辑,比如给用户弹出报错提醒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:42:07