簡體   English   中英

從Google表格單元格中的電子郵件值填充HTML表單上的電子郵件輸入

[英]Populate email input on HTML form from email value within google sheets cell

我已經在Google的html編輯器中創建了一個彈出電子郵件對話框,如下所示,電子郵件的輸入如下:

<input type="email" name="email" class="form-control" id="mail" aria-describedby="emailHelp" value="">

在我的.gs文件中,我存儲包含要使用的電子郵件地址的單元格的值,如下所示:

function getEmail()
 {
   var s=SpreadsheetApp.getActive().getSheetByName("Template");
   var row=15;
   var column=3;
   var contactAddress=Utilities.formatString('%s',s.getRange(row, column).getValue());
   Logger.log(contactAddress);
 }

這可以正常工作,並且可以正確捕獲電子郵件地址並將其記錄下來。 現在,我需要更改電子郵件輸入的“值”,以便在打開二元日志時使用此地址填充該電子郵件。 因此,我的HTML文件中包含以下內容:

window.onload = function (contactAddress)
{
   document.getElementById('mail').value=contactAddress;
}

但是,這將導致填充“ [對象事件]”。 我覺得我在這里很近,但不能完全擺脫!

更新:

所以我將其添加到我的.gs:

function showDialog() {
  var html = HtmlService.createHtmlOutputFromFile('emailTemplate')
  .setWidth(800)
  .setHeight(500);
  html.myvar = new getEmail();
  html.evaluate().getContent();
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
  .showModalDialog(html, ' ');
 }

但是,當我運行腳本時,出現錯誤消息,指出對象不允許添加或更改屬性。

編輯:原始答案已刪除。

所以這是我對您問題的回答。 測試了一下,就可以了。

我的HTML頁面設置如下:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
    function onSuccess(contact) {
     //var contactAddress = google.script.run.getEmail();
        document.getElementById('mail').value=contact;
    }

    google.script.run.withSuccessHandler(onSuccess).getEmail();
    </script>
  </head>
  <body>
    <input type="email" name="email" class="form-control" id="mail" aria-describedby="emailHelp" value="">

  </body>
</html>

我的.gs文件包含

function getEmail()
 {
   var s=SpreadsheetApp.getActive().getSheetByName("Sheet1");
   var row=1;
   var column=3;
   var contactAddress=Utilities.formatString('%s',s.getRange(row, column).getValue());
   Logger.log(contactAddress);
   return contactAddress;
 }

唯一真正的區別是,我添加了一個return語句(並將測試的行從15更改為1)。

似乎主要問題是您如何在HTML頁面上調用該函數。 它需要google.script.run.withSuccessHandler()調用,而不是window.onload = function()調用。

暫無
暫無

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

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