javascript - Google Apps Script sends wrong form input via mail -
i pretty new coding , have next problem little google apps script.
can tell me why next script doesn't send me/the user (i utilize form , script myself) specific reply of latest form response? somehow sends me reply of form response used script first time...
function sendanswerviamail() { var myemail = session.geteffectiveuser().getemail(); var subject = 'my reply 26th question.'; var form = formapp.getactiveform(); var formresponses = form.getresponses(); var formresponse = formresponses[formresponses.length-1]; var itemresponses = formresponse.getitemresponses(); var itemresponse = itemresponses[25]; mailapp.sendemail (myemail, subject, itemresponse.getresponse()); }
i suppose script fired when user submit form via trigger functionnality. approach have here more logic one, unfortunatelly not 1 because not handle fact 2 people may reply form in same time , trigger launch script not correlated fact script has recorded reply , can access with:
var form = formapp.getactiveform(); var formresponses = form.getresponses(); instead of approach can propose utilize object trigger on form submit give function when launched:
/** * function triggered each time form submited * */ function submitformfunc(e) { var user = e.response.getrespondentemail(); var items = e.response.getitemresponses(); var responses={}; // given responses form user var respobj = {}; for(var = 0; i< items.length; i++) { var = items[i]; responses[it.getitem().getid()] = { "title":it.getitem().gettitle(), "response":it.getresponse() }; respobj[it.getitem().gettitle()] = it.getresponse(); } logger.log("responses: "+json.stringify(responses)); } javascript google-apps-script google-form
No comments:
Post a Comment