我想使用电话号码填写电子表格数据中的表单字段。如果用户输入了他们的电话号码,则将自动填充字段(姓名,电子邮件等)
现在,它仅填充全名。
我的Code.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();
}
我想根据电子表格数据自动填写字段。如果用户输入电话号码,则必须自动填写这些字段。
查看屏幕截图:https : //ibb.co/wJjz205
您可以扩展脚本以在对象中返回其他值,例如:
...
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();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句