gpt4 book ai didi

Javascript 未在 google apps 脚本中运行

转载 作者:行者123 更新时间:2023-12-03 12:33:18 25 4
gpt4 key购买 nike

我在尝试在 Google 应用脚本中运行以下代码时遇到问题。

// 1.foldername = Folder name               | 3.templateId = ID of the template to use
// 2.SheetId = ID of spreadsheet to use. | 4.rootFolder = ID of the root folder to save everything to

function createTemplate(){
var folderName = $("#fileName").text(); //Get text from fileName textbox
var rootId = $("#rootId").val(); //Get value of selected item in rootId element
var sheetId = $("#fileId").val(); //Get value of selected item in fileId element
var templateId = $("#templateId").val(); //Get value of selected item in templateId element

//google.script.run.template(folderName, sheetId, templateId, rootId); //Execute template function serverside
alert('done'); //Create alert to show that it is done |Remove after debugging|
}

当上面的代码被调用时,它不会执行。我通过在上面的 block 内的几个点创建日志进行了测试。任何超出线条的内容

  var folderName = $("#fileName").text(); //Get text from fileName textbox  
var rootId = $("#rootId").val(); //Get value of selected item in rootId element
var sheetId = $("#fileId").val(); //Get value of selected item in fileId element
var templateId = $("#templateId").val(); //Get value of selected item in templateId

将被执行 我还注释掉了这些行,并且代码以这种方式执行得很好。所以我假设错误就在这些行中,但是我不确定错误是什么。

这是我的 HTML 代码(如果有帮助的话)。

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<title>Report builder</title>
<?!= bootstrap.css ?>
<?!= include('site')?>
</head>
<body>
<div class="body">

<? var files = getAllFiles(); ?>
<? var templates = getAllTemplates(); ?>
<? var folders = getAllFolders(); ?>
<form class="form-horizontal">
<div class="control-group">
<div class="controls" style="margin:5px;">
<input id="fileName" type="text" placeholder="Folder name"/>
</div>
</div>

<div class="control-group">
<div class="controls" style="margin:5px;">
<select id="rootId" style="height:30px;">
<option value="Drive">Drive</option>
<? for (i in folders){ ?>
<option value="<?= folders[i].getId(); ?>"> <?= folders[i].getName(); ?> </option>
<? } ?>
</select>
</div>
</div>

<div class="control-group">
<div class="controls" style="margin:5px;">
<select id="fileId" style="height:30px;">
<? for (i in files){ ?>
<option value="<?= files[i].getId(); ?>"> <?= files[i].getName(); ?> </option>
<? } ?>
</select>
</div>
</div>

<div class="control-group">
<div class="controls" style="margin:5px;">
<select id="templateId" style="height:30px;">
<? for (i in templates){ ?>
<option value="<?= templates[i].getId(); ?>"> <?= templates[i].getName(); ?> </option>
<? } ?>
</select>
</div>
</div>
<button class="btn btn-primary" type="button" onclick="createTemplate()">Create Report</button>
</form>
</div>
</body>

我的 JavaScript 函数位于 HTML 文件的底部。提前致谢!

最佳答案

这是因为您混合了服务器代码和客户端代码。请务必重新阅读 htmlService 文档。您无法从服务器访问 dom 或使用 jquery。所有这些 vslues 必须作为参数从客户端 js 传递到 google.run 服务器调用。

关于Javascript 未在 google apps 脚本中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23836993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com