Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google应用程序脚本-从邮件正文回调_Google Apps Script - Fatal编程技术网

Google apps script Google应用程序脚本-从邮件正文回调

Google apps script Google应用程序脚本-从邮件正文回调,google-apps-script,Google Apps Script,我在邮件正文中发送一个包含按钮的html表单,当点击按钮时,我在谷歌电子表格中保存一个引用。我能够获得代码,但无法使其正常工作。请帮助我解决此问题 //Function to send mail from Google App script function sendmail(e) { var subject = 'Test'; var template = HtmlService.createHtmlOutput('<form id = "myForm" >' +

我在邮件正文中发送一个包含按钮的html表单,当点击按钮时,我在谷歌电子表格中保存一个引用。我能够获得代码,但无法使其正常工作。请帮助我解决此问题

//Function to send mail from Google App script  
function sendmail(e) {  
var subject = 'Test';  

 var template = HtmlService.createHtmlOutput('<form id = "myForm" >' +  
'<label for = "name"> Name: </label>'+  
'<input type = "text" id ="name" />'+  
'</Form>'+  
'<button onclick = "submitdata()">Save</button>' +  
'<script>' +  
'function submitdata(){'+  
'var form =  document.getElementByID('+"myform"+');'+  
'google.script.run.withFailureHandler(alert).withSuccessHandler(alert).' +  
'submitForm(form);'+  
 '}');  
var html = template.getContent();  
// email to self  
recipient = Session.getActiveUser().getEmail();  
var Mailbody= 'Its a test: '  
// Send email form  
GmailApp.sendEmail(recipient, subject, Mailbody, {htmlBody:html} );  
}


//Function to be called when clicked on Save button in Email body

function submitForm(form) {  
var ss =SpreadsheetApp.openById('tsgxsbtJRf2zbh_tNQzJoUQ');  
var sheet = ss.getSheets()[0];  
// Save response to spreadsheet  
var rowNum = sheet.getLastRow()+1;  
//sheet.getRange(rowNum, 1, 1, row.length).setValues([row]);  
sheet.getRange("A"+ rowNum).setValue("today" )  
}

据我所知,传统的电子邮件客户端(如outlook)或在线电子邮件客户端(如gmail)都不会运行嵌入html的javascript代码

在某些客户端上,工作原理是让表单具有常规的post URL,这样当用户填写字段并单击“提交”按钮时,它将触发浏览器上的新选项卡,直接发布表单。但话说回来,这只适用于某些电子邮件客户端。例如,我认为这在Outlook上不起作用


在这种情况下,您最好发送一个链接,这样用户就可以在线打开我们的表单。

即使js运行,它调用的google.script也不会在HTMLAP之外工作。谢谢@Henrique Abreu,它会尝试将我的逻辑更改为post URLalternative。