Monday, 15 September 2014

javascript - Google Apps Script sends wrong form input via mail -



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