google-apps-script - 代码自动执行,而不是单击按钮
问题描述
我从 Khizer Mehmood 修改了一段代码和 HTML。伟大的编码,将包括链接。它几乎可以满足我的所有需求。但它直接触发地理定位,我想将信息添加到另一列,然后将其发送到表格。
我不知道如何修改此 HTML 和代码,以便在将其全部发送到 Google 表格之前提示我添加信息
这是我的代码:
JavaScript:
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getLoc(value) {
var SpreadSheetKey = "1NDDhHomd4uJ8Xc2OlmK_jtShCKRLuHrwMBieURtM8zo";
var ss = SpreadsheetApp.openById(SpreadSheetKey);
var respSheet = ss.getSheets()[0];
var data = respSheet.getDataRange().getValues();
var headers = data[0];
//var numColumns = headers.length ;
var numResponses = data.length;
var c = value[0];
var d = value[1];
var e = c + "," + d; {
respSheet.getRange(numResponses + 1, 1).setValue(Utilities.formatDate(new Date(), "GMT+2", "MM/dd/yyyy HH:mm:ss"));
respSheet.getRange(numResponses + 1, 2).setValue(e);
var response = Maps.newGeocoder().reverseGeocode(value[0], value[1]);
f = response.results[0].formatted_address;
respSheet.getRange(numResponses + 1, 3).setValue(f);
}
}
HTML:
<!DOCTYPE html>
<html>
<script>
(function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
})()
function showPosition(position) {
var a= position.coords.latitude;
var b= position.coords.longitude;
var c=[a,b]
getPos(c)
function getPos(value) {
google.script.run.getLoc(value);
}
}
</script>
<button onclick="myFeed">Copy Text</button>
<body>
<h2>Thank you!</h2>
<p> Your registration is complete. Have a great day! </p>
<img src="https://drive.google.com/thumbnail?id=1wheniE0HFtA37frkolHfmnjRLFbNkTI3" alt="W3Schools.com" style="width:100px;height:120px;">
</body>
</html>
解决方案
检查 HTML 中的 JS。您正在使用“立即调用函数表达式”。通过在括号之间包装函数getLocation()
,您告诉浏览器执行表达式。因此,您可以立即完成此操作。
解决方案:
删除括号,并在单击按钮时调用该函数。
例子:
将以下按钮添加到您的 HTML:
<button onclick="getLocation">Get Location</button>
推荐阅读
- python - 如何将不适合用户输入的模型实例字段传递给Django中的模板
- javascript - 是否可以通过 WebRTC 或 Web 套接字保存视频通话
- javascript - 来自 chrome 90 的 CSS 问题(flex-basis: 0;)
- spring - 从基本 Spring 反应式 Websocket 服务器向非反应式客户端发送消息
- python - Python S3 客户端 put_object 静默失败
- python - 如何将元组存储在熊猫数据框单元格中?
- excel - 循环代码直到excel中的单元格为空
- python - Pandas:在最大第 n 个分隔符后提取字符串
- r - R面板数据的第一个差异 - 问题
- node.js - 使用云功能从 Firebase 中删除多个文档