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

如何在GAS的doGet方法中将用户名和邮箱传递到HTML表单中

解决方案

使用Google Apps Script自带的HTML模板功能即可实现参数传递,具体操作如下:

1. 修改doGet函数

首先修正代码误区:doGet 用于处理GET请求,请求参数直接通过e.parameter获取,不需要读取postData(postData仅在POST请求的doPost方法中存在)。调整后的代码如下:

function doGet(e) {
  // 从GET请求参数中获取用户名和邮箱,你也可以替换为自己拆分得到的name、email变量
  const name = e.parameter.username || '';
  const email = e.parameter.email || '';

  // 加载HTML模板,将变量挂载到模板对象上
  const template = HtmlService.createTemplateFromFile('index');
  template.name = name;
  template.email = email;

  // 渲染模板并返回
  return template.evaluate()
    .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

2. 修改index.html表单代码

给两个输入框的value属性绑定模板变量即可自动填充默认值,如果你需要隐藏输入框,直接把type属性改为hidden即可:

<form id="uploaderForm">
  <label for="uploaderForm">Upload plusieur fichiers</label>
  <div>
    <!-- 绑定name变量作为默认值,需要隐藏可把type改为hidden -->
    <input type="text" name="applicantName" id="applicantName" placeholder="nom" value="<?= name ?>">
  </div>
  <div>
    <!-- 绑定email变量作为默认值,需要隐藏可把type改为hidden -->
    <input type="text" name="applicantEmail" id="applicantEmail" placeholder="Email" value="<?= email ?>">
  </div>
  <div>
    <input type="file" name="filesToUpload" id="filesToUpload" multiple>
    <input type="button" value="Submit" onclick="uploadFiles()">
  </div>
</form>

实现逻辑说明

  • HtmlService的模板渲染功能支持将服务端变量通过template.变量名的方式传递给前端模板
  • 模板中使用<?= 变量名 ?>的语法即可输出服务端传递的变量值,加载页面时会自动替换为实际内容
  • 变量设置默认空值可以避免参数缺失时页面出现undefined的异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:54:03