简体   繁体   English

Google Apps 脚本 HTML 表单

[英]Google Apps Script HTML Form

I have a simple html form with email sending我有一个带有电子邮件发送的简单 html 表单

this is the html file:这是 html 文件:

 <!DOCTYPE html> <html> <head> <base target="_top"> <script> function submitForm() { var name = document.getElementById('name').value; var email = document.getElementById('email').value; var comment = document.getElementById('comment').value; /** * First run submitData(name, email, comment) function of Code.gs * Then, run showMessage(value) function of this html file */ google.script.run .withSuccessHandler(showMessage) // execute showMessage(value) function on success .submitData(name, email, comment); // call submitData(name, email, comment) function present in Code.gs file } function showMessage(value) { document.getElementById('message').innerHTML = value; document.getElementById('name').value = ''; document.getElementById('email').value = ''; document.getElementById('comment').value = ''; } </script> </head> <body> <h2>Feedback Form</h2> <div id="message" style="color:green"></div> <p><input id="name" type="text" placeholder="Your Name"><p> <p><input id="email" type="email" placeholder="Your Email"></p> <p><textarea id="comment" rows="10" cols="40"></textarea></p> <p><button onclick="submitForm(); return false;">Submit</button></p> </body> </html>

and this is the gs file:这是 gs 文件:

 function doGet(e) { return HtmlService .createHtmlOutputFromFile('index.html') .setTitle("Simple HTML Form Example"); } function submitData(name, email, comment) { var subject = 'New Feedback'; var body = 'Name: ' + name + '<br> Email: ' + email + '<br> Comment: ' + comment; var to = 'my-email@email.com'; // EMAIL ADDRESS WHERE THE FEEDBACK EMAIL IS SENT MailApp.sendEmail({ to: to, subject: subject, htmlBody: body }); return 'Feedback Sent!'; }

I'm looking for a formula to view the edited fields name, email, instead of the text "Feedback Sent!"我正在寻找一个公式来查看编辑的字段名称、电子邮件,而不是文本“反馈已发送!”

Thanks in advance for the help!在此先感谢您的帮助!

HTML Email Form HTML 电子邮件表单

html: html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      function submitForm(form) {
        google.script.run
        .withSuccessHandler(function(value){
          document.getElementById('message').innerHTML = value;
          document.getElementById('name').value = '';
          document.getElementById('email').value = '';
          document.getElementById('comment').value = '';
        }) 
        .submitData(form);
      }
    </script>
  </head>
  <body>
    <h2>Feedback Form</h2>
    <div id="message" style="color:green"></div>
    <form>
    <br /><input id="name" type="text" name="name" placeholder="Your Name">
    <br /><input id="email" type="email" name="email" placeholder="Your Email">
    <br /><textarea id="comment" rows="10" cols="40" name="comment"></textarea>
    <br /><input type="button" value="Submit" onclick="submitForm(this.parentNode);" />  
  </form>  
  </body>
</html>

Google Script:谷歌脚本:

function submitData(form) {
  var subject='New Feedback';
  var body=Utilities.formatString('name: %s <br />Email: %s<br />Comment: %s', form.name,form.email,form.comment);
  var to = 'my-email@email.com'; 
  MailApp.sendEmail({to: to,subject: subject,htmlBody: body}); 
  //Logger.log('name: %s <br />Email: %s<br />Comment: %s', form.name,form.email,form.comment);
  return Utilities.formatString('name: %s <br />Email: %s<br />Comment: %s', form.name,form.email,form.comment);
}
//It works as a dialog
function showTheDialog() {
  var userInterface=HtmlService.createHtmlOutputFromFile('aq7');
  SpreadsheetApp.getUi().showModelessDialog(userInterface, "Emails")
}

在此处输入图片说明

在此处输入图片说明

I didn't actually test it with the mailapp line.我实际上并没有用 mailapp 线测试它。 I just used the Logger and saw that it returned the feedback message.我刚刚使用了 Logger,看到它返回了反馈消息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM