簡體   English   中英

如何使用Apps腳本通過電子表格數據自動填充HTML字段?

[英]How to auto populate HTML fields by from Spreadsheet Data using Apps Script?

我想使用電話號碼填寫電子表格數據中的表單字段。 如果用戶輸入了他們的電話號碼,則將自動填充字段(姓名,電子郵件等)

現在,它僅填充全名。

我的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();

        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM