javascript - 如何使用 Apps 脚本通过电子表格数据自动填充 HTML 字段?
问题描述
我想使用电话号码使用电子表格数据填充我的表单字段。如果用户输入他们的电话号码,字段将自动填充(姓名、电子邮件等)
现在,它只填充全名。
我的代码.GS:
function autoComplete(info){
var opensheet = "https://docs.google.com/spreadsheets/d/xxxxxxxxx/edit#gid=0";
var sso = SpreadsheetApp.openByUrl(opensheet);
var wst = sso.getSheetByName("Invoices");
var data = wst.getRange(2, 1, wst.getLastRow()-1, 5).getValues();
var phoneSearch = data.map(function(r){ return r[0]; });
var newsletter = data.map(function(r){ return r[1]; });
var fullname = data.map(function(r){ return r[2]; });
var email = data.map(function(r){ return r[4]; });
var position = phoneSearch.indexOf(info);
if(position > -1){
return fullname[position];
} else {
return '';
}
}
我的Javascript:
function getDetails(){
var info = document.getElementById("phone_number").value;
if(info.length === 14) {
google.script.run.withSuccessHandler(updateInfo).autoComplete(info)
}
}
function updateInfo(fullname){
document.getElementById("full_name").value = fullname;
M.updateTextFields();
}
我想根据电子表格数据自动完成字段。如果用户输入电话号码,则必须自动填写这些字段。
解决方案
您可以扩展您的脚本以在对象中返回其他值,例如:
...
if(position > -1){
return {
'fullname': fullname[position],
'email': email[position]
// add other fields if necessary
}
} else {
return '';
}
...
然后访问值作为返回对象的属性:
function updateInfo(response){
document.getElementById("full_name").value =response['fullname'];
document.getElementById("email").value =response['email'];
M.updateTextFields();
}
推荐阅读
- csv - CSV & Lgstash & Elasticsearch
- python-3.x - Tic Tac Toe AI 错误请帮我修复它
- ruby - Rails 测试命令在新项目上失败
- android - GeneXus 离线 SD 原生 android 应用程序未同步
- java - 尝试连接到android上的网络后如何添加结果监听器?
- php - PHP MySQL显示一行是否不存在
- amazon-web-services - 我是否仍需要为 AWS ALB 下的所有 NGINX 入口配置 TLS/SSL
- iis - Windows 服务器未收到请求
- selenium - Lambda 上的 Selenium 和 Chromedriver - 大规模不一致
- python-3.x - 如何通过按下游戏手柄按钮(用户输入)跳出 while 循环