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

如何让Google Sheets表单提交按钮同时提交数据并跳转页面

解决表单提交后跳转成功页面的问题

当前代码的核心问题是:在google.script.run的成功回调函数中没有执行任何反馈逻辑,导致数据提交后页面无变化。只需在成功回调内添加跳转或页面更新代码即可实现需求,以下是两种可行方案:

方案1:跳转到单独的"操作成功"页面

如果你已经创建了一个独立的success.html成功页面(与表单页面同目录),修改提交按钮的回调逻辑如下:

$(document).on('click', '.btn_send_contact', function(event) {
    event.preventDefault();

    var e1 = $(this).closest('.screen_data');
    var a1={
        user_name:e1.find('.user_name').val(),
        user_email:e1.find('.user_email').val(),
        user_Username:e1.find('.user_Username').val(),
        user_msg:e1.find('.user_msg').val(),
        user_dttm:moment().format("YYYY-MM-DD HH:MM:SS A"),
    };

    google.script.run.withSuccessHandler(function(data)
    {
        if(data.status == "success")
        {
            // 替换为你的Web App部署地址+成功页面路由
            window.location.href = "https://script.google.com/macros/s/你的部署ID/exec?page=success";
        }
    }).AddNewContact(a1) 
});

同时需要在Google Apps Script的doGet函数中添加路由逻辑,用于返回成功页面:

function doGet(e) {
  var page = e.parameter.page || "home";
  if(page === "success") {
    return HtmlService.createHtmlOutputFromFile("success");
  } else {
    return HtmlService.createHtmlOutputFromFile("你的表单页面文件名");
  }
}

方案2:在当前页面直接显示成功提示

无需额外创建页面,直接替换当前表单区域的内容为成功提示:

$(document).on('click', '.btn_send_contact', function(event) {
    event.preventDefault();

    var e1 = $(this).closest('.screen_data');
    var a1={
        user_name:e1.find('.user_name').val(),
        user_email:e1.find('.user_email').val(),
        user_Username:e1.find('.user_Username').val(),
        user_msg:e1.find('.user_msg').val(),
        user_dttm:moment().format("YYYY-MM-DD HH:MM:SS A"),
    };

    google.script.run.withSuccessHandler(function(data)
    {
        if(data.status == "success")
        {
            // 获取表单容器,替换为成功提示
            var e0 = $(document).find('.screen_data');
            e0.html(`
                <div style="text-align:center; padding:50px;">
                    <h3>操作成功!</h3>
                    <p>感谢你的提交,后续操作请返回首页</p>
                    <button class="btn_menu" screen_name="home">返回首页</button>
                </div>
            `);
        }
    }).AddNewContact(a1) 
});

注意事项

  • 确保你的AddNewContact函数确实返回了{status: "success"}格式的对象,否则回调不会触发对应逻辑。
  • 方案1中的部署地址需要替换为你自己Web App的实际部署URL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:26:10