javascript - validacion - Envío de un formulario a través de scripts de google
validar formulario javascript antes de enviar (1)
Necesito enviar un formulario en un script de google pero obtengo este error:
TypeError: no se puede llamar al método "withItemResponse" de undefined
Según el siguiente enlace, así es como debe configurarse https://developers.google.com/apps-script/reference/forms/form#createResponse ()
Código:
//Submit form
var formID = row[24];
var form = FormApp.openById(formID);
Logger.log(form.getId()); //returns correct ID
form.createResponse() ;
form.FormResponse.withItemResponse(''Core Teachers'', logSummary);
//form has only two questions, a short text and a paragraph text
form.FormResponse.submit();
form.createResponse()
devuelve un FormResponse
, que debe asignar a una variable.
también, withItemResponse()
espera un objeto de tipo ItemResponse
. No estoy familiarizado con los formularios de Google, pero tal vez esto te lleve en la dirección correcta:
var formID = row[24];
var form = FormApp.openById(formID);
var formResponse = form.createResponse();
// get items of form and loop through
var items = form.getItems();
for (index = 0; index < a.length; ++index) {
var item = items[index]
// Cast the generic item to the text-item class. You will likely have to adjust this part. You can find the item classes in the documentation. https://developers.google.com/apps-script/reference/forms/item-type.
if (item.getType() == ''TEXT'') {
var textItem = item.asTextItem();
var itemresponse = textItem.createResponse(''Core Teachers'');
formResponse.withItemResponse(itemresponse);
}
}
formResponse.submit();
Generalmente, cuando la documentación de un método enumera como tipo de parámetro algo distinto de tipos primitivos como String o Boolean, necesita crear o adquirir un objeto de ese tipo, como hice con createResponse. Debe familiarizarse con estos y otros principios porque la documentación de GoogleAppsScript asume el conocimiento de ellos.