This question already has answers here:
ReferenceError: “document” is not defined
                                
                                    (2个答案)
                                
                        
                                5个月前关闭。
            
                    
我目前正在研究Google表单插件。该插件的边栏带有一个输入字段和一个按钮。输入字段的ID为“ emailinput”。用户在输入文本字段中输入电子邮件地址,然后点击发送。这给他发送了一封电子邮件。但是,当我尝试使用var email = document.getElementById("emailinput").value获取输入字段的值时,出现一条错误消息,提示“文档”未定义。这是我的代码:

代码

function element() {
   var textinput = document.getElementById("textfield").value
    MailApp.sendEmail(textinput, "test email", "hello", {
          name: "Script"
          })
}

//-------Sidebar--------

function onOpen() {
  FormApp.getUi()
      .createMenu('Email Sender')
      .addItem('Send message', 'showSidebar')
      .addToUi();
}

function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('index')
      .setTitle('Email Sender')
      .setWidth(300);
  FormApp.getUi()
      .showSidebar(html);
}


index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
     <input type="text" id="textfield" placeholder="Enter email address" value="">
     <button onclick="google.script.run.element()">Send</button>
  </head>
  <body>
  </body>
</html>

最佳答案

亚当,它没有定义,因为您的代码仅“知道”其中的内容,而不是HTML代码。

如果要获取文本字段的值,则将该代码放入HTML块中并将该值传递给function元素。

让我知道您是否仍然感到困惑。

关于javascript - Google Apps脚本中的document.getElementById“未定义” ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57397673/

10-11 23:25
查看更多