I have the same script on a form and a spreadsheet. When I execute the script from a form it works 100%, but I can get time-based installed trigger, which I need to toggle the form on at 8:29am, and stop accepting responses at 8:59am.
When I do an "On Form Submit" from the spreadsheet, the submission function I used on the Form Script no longer works.
I either need help getting the time-trigger in the FORM script...or help understanding what I need to do on the Sheet side to get the function working.
Here is the code that worked on the form, but not in the spreadsheet...I get "Form Submitted" and that is it, no more Logger.Log entries, when the form trigger the on form submit trigger. Data is send the the "Form Responses 1" sheet on the same spreadsheet.
function onFormSubmit(e) {
Logger = BetterLog.useSpreadsheet('XXXXXXXXXX');
Logger.log('Form Submitted');
var formResponse = e.response;
var itemResponses = formResponse.getItemResponses();
var student=[];
var studentchoice = [];
for (var i=0; i<itemResponses.length; i++) {
if(itemResponses[i].getItem().getTitle()=="Pick your class"){
//We will have the teachers name...open the right sheet
var teacher = itemResponses[i].getResponse();
Logger.log(teacher);
classroom(teacher); //stores teacher in cache to use in another function
}else{
student.push(itemResponses[i].getItem().getTitle());
studentchoice.push(itemResponses[i].getResponse());
Logger.log(itemResponses[i].getItem().getTitle());
}
}
if(student.length >= 1 && studentchoice.length >= 1){
enterOrders(classroom(),student,studentchoice);
}
var formattedDate = Utilities.formatDate(new Date(), "EST", "h:mm a");
Logger.log(formattedDate);
}