理念:
“FFO_Email”功能将执行以下操作
我遇到的问题
所选的无线电Field Office Location和Additional Message未传递给FFO_Email.gs函数。因此,不向个人发送电子邮件。
可在此处找到工作表
FFO_email.html
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function onSuccess(fieldOffice, AdditionalMessage) {
var div = document.getElementById('fieldOfficeFFO');
div.innerHTML = 'Email for ' + fieldOffice + ' has been sent successfully.';
}
google.script.run.withSuccessHandler(onSuccess)
.FFO_Email();
</script>
</head>
<body>
<form id=fieldOfficeFFO>
<fieldset style="background-color:LightGray;width:250px">
<div>
<label for="Field Office Select">Please select your field office below.</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="ARK_E_TEXAS">
<label for="ARK_E_TEXAS">ARK_E_TEXAS</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="BORDER_EAST">
<label for="BORDER_EAST">BORDER_EAST</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="BORDER_WEST">
<label for="BORDER_WEST">BORDER_WEST</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="CENTRAL_TEXAS">
<label for="CENTRAL_TEXAS">CENTRAL_TEXAS</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="DALLAS">
<label for="DALLAS">DALLAS</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="FORT_WORTH">
<label for="FORT_WORTH">FORT_WORTH</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="GULF_COAST">
<label for="GULF_COAST">GULF_COAST</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="LOUISIANA">
<label for="LOUISIANA">LOUISIANA</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="NEW_MEXICO">
<label for="NEW_MEXICO">NEW_MEXICO</label>
</div>
<div>
<input type="radio" name="fieldOfficeFFO" id="fieldOfficeFFO" value="OKLAHOMA">
<label for="OKLAHOMA">OKLAHOMA</label>
</div>
</fieldset>
<br>
<br>
<fieldset>
<div class="form-group">
<label for="AdditionalMessage">Additional Message</label>
<textarea id="AdditionalMessage" rows="3" style="width:250px"></textarea>
</div>
</fieldset>
</form>
<div class="block">
<button class="blue" onclick="onSuccess(fieldOfficeFFO,AdditionalMessage)">Submit</button>
<button onclick="google.script.host.close()">Close</button>
</div>
</body>
</html>
&#13;
FFO_Email.gs
function FFO_Email(fieldOfficeFFO, AdditionalMessage) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('FFO-IS')
var firstRow = 3;
var lastRow = 10;
var dataRange = sheet.getRange(firstRow, 1, lastRow, 8);
var myDate = new Date();
var hrs = myDate.getHours();
//Determines the row the Field Office is in
for (var j = 0; j < dataRange.length; j++) {
if (dataRange[j][0] == fieldOfficeFFO) {
Logger.log((j + 1))
return j + 1;
}
}
//Create the greeting based on the time of day
var greeting;
if (hrs < 12)
greeting = 'Good Morning';
else if (hrs >= 12 && hrs <= 17)
greeting = 'Good Afternoon';
else if (hrs >= 17 && hrs <= 24)
greeting = 'Good Evening';
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var field_Office = fieldOfficeFFO;
var PT_Director = dataRange.getValues(j, 2);
var PT_Manager = dataRange.getValues(j, 3);
var PT_Management_Specialist = dataRange.getValues(j, 4);
var Area_Supervisory_AM = dataRange.getValues(j, 5);
var Area_AM = dataRange.getValues(j, 6);
var SC_Senior_Property_Manager = dataRange.getValues(j, 7);
var AMS = dataRange.getValues(j, 8);
var email_Subject = field_Office + " FFO / Income Statement Report is ready for viewing";
var message_Body = greeting + "," +
"<br> <br>" +
"The " + field_Office + " <b>FFO / Income Statement Report is ready for viewing in</b> the <i>AMS Standard Reports - R07 Google Folder</i>" +
" located at https://drive.google.com/drive/u/0/folders/0Bx1aKS2V9K-kb0tNLXFfbGtmalE" +
"<br> <br>" +
"<br> <br>" +
//Additional Message from html side added here
AdditionalMessage +
"<br> <br>" +
"Thank you." +
"<br> <br>" +
AMS;
//Send email
MailApp.sendEmail({
to: SC_Senior_Property_Manager + "," + Area_AM + "," + AMS,
cc: PT_Director + "," + PT_Manager + "," + PT_Management_Specialist + "," + Area_Supervisory_AM,
replyTo: AMS,
subject: email_Subject,
htmlBody: message_Body
});
return fieldOfficeFFO
SpreadsheetApp.flush();
Utilities.sleep(1000);
}
}
&#13;
答案 0 :(得分:0)
同一组中的无线电输入不能具有相同的id=
。
如果您想要对它们进行分组,那么为它们提供相同的名称属性是可以的。
Textarea根本没有name=
属性。
答案 1 :(得分:0)
需要做出很多改变:
我为提交创建了一个新功能,我称之为enyo.kind({
name: "myapp.MainView1",
kind: "FittableRows",
fit: true,
components:[
{kind: "onyx.Toolbar", content: "Hai-->>"},
{kind: "enyo.Scroller", fit: true, components: [
{name: "main", classes: "nice-padding", allowHtml: true}
]},
{kind: "onyx.Toolbar", components: [
{kind: "onyx.Button", content: "Go Back", ontap: "helloWorldTap"}
]}
],
create : function(){
this.inherited(arguments);
console.log("MainView1 is created in memory");
},
rendered : function(){
this.inherited(arguments);
console.log("MainView1 is created in rendered into DOM");
},
helloWorldTap: function(inSender, inEvent) {
//this.$.main.addContent("The button was tapped.
");
//window.location="#";
new myapp.Application().router.trigger({location:'/ ',change:true});
}
});
:
脚本标记:
sendInputInfo()
更改<script>
function sendInputInfo() {
console.log('sendInputInfo ran!');//Open browsers console to see print out
//Get the form information to be sent
var theFormElement = document.getElementById('fieldOfficeFFO');
google.script.run.withSuccessHandler(onSuccess)
.FFO_Email(theFormElement);
};
function onSuccess(fieldOffice, AdditionalMessage) {
div.innerHTML = 'Email for ' + fieldOffice + ' has been sent successfully.';
};
</script>
属性:
onclick
请注意,括号中没有值发送到函数。这不是必需的。表单正在<button class="blue" onclick="sendInputInfo()">Submit</button>
函数中检索。
目前,代码未将任何信息传递给服务器。服务器功能的括号中没有任何内容:
目前:
sendInputInfo()
括号中需要有一些东西:
.FFO_Email();
您的.FFO_Email(theFormElement);
代码在括号中有两个参数。如果是脚本,则Apps脚本只接受服务器端的一个输入。因此,您需要将功能更改为:
.gs